广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python + selenium +
  • 949
分享到

python + selenium +

pythonselenium 2023-01-31 08:01:57 949人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

使用python3.6在ubuntu中进行了一项使用Chrome headless浏览器的工作, 在此记录下遇到的问题以及解决方法. 入门? 参考 unning-selenium-with-headless-chrome Ubuntu中如

使用python3.6在ubuntu中进行了一项使用Chrome headless浏览器的工作, 在此记录下遇到的问题以及解决方法.

入门?

参考 unning-selenium-with-headless-chrome

Ubuntu中如何安装chrome浏览器, 以及chromedriver?

参考 Installing ChromeDriver on Ubuntu

selenium启动浏览器时常用的属性

from selenium.WEBdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率
chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
chrome_options.binary_location = r'/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary' #手动指定使用的浏览器位置

selenium如何连接到已经开启的浏览器?

需要在打开浏览器后, 获取浏览器的command_executor url, 以及session_id

opener.command_executor._url, opener.session_id #opener为webdriver对象

之后通过remote方式链接

from selenium import webdriver
opener = webdriver.Remote(command_executor=_url,desired_capabilities={}) #_url为上面的_url
opener.close() #这时会打开一个全新的浏览器对象, 先把新的关掉
opener.session_id = session_id #session_id为上面的session_id

之后对opener的任何操作都会反映在之前的浏览器上.

selenium 的 desired_capabilities 如何传递--headless这样的浏览器参数

from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
capabilities = DesiredCapabilities.CHROME
capabilities.setdefault('chromeOptions', {'args':['--headless', '--disable-gpu']})

selenium 使用 crontab等环境启动时提示chromedriver not in PATH

初始化的时候, 传入chromedriver绝对路径

opener = webdriver.Chrome(r'/usr/local/bin/chromedriver', chrome_options=chrome_options)

selenium使用cookies

  • 获得cookies
    opener.get_cookies()
  • 写入cookies
    opener.add_cookie(cookie) #需要先访问该网站产生cookies后再进行覆写

selenium 等待页面所有异步函数完成

opener.implicitly_wait(30) #30是最长等待时间

selenium 打开新标签页

偏向使用js函数来执行

opener.execute_script('''window.open("Http://baidu.com","_blank");''') 

selenium 获得页面的网络请求信息

有些时候页面在你点击后会异步进行请求, 完成一些操作, 这时可能就会生成输出数据的url, 只要抓到这个url就可以跳过token验证等安全监测, 直接获得数据.

script =  "var perfORMance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {}; var network = performance.getEntries() || {}; return network;"
performances = opener.execute_script(script)

script里是js代码, 一般用来进行性能检查, 网络请求状况, 使用selenium执行这段js就可以获得所有的请求信息.

おわり.

--结束END--

本文标题: python + selenium +

本文链接: https://www.lsjlt.com/news/193112.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python + selenium +
    使用python3.6在Ubuntu中进行了一项使用Chrome headless浏览器的工作, 在此记录下遇到的问题以及解决方法. 入门 参考 unning-selenium-with-headless-chrome Ubuntu中如何...
    99+
    2023-01-31
    python selenium
  • python selenium erro
    我用的是ubuntu 16.04解决办法:下载    geckodriver  (github下载链接)解压缩 tar zxvf  geckodriver-v0.15.0-linux64.tar.gz  ##解压出来的是一个单文件##执行 ...
    99+
    2023-01-31
    python selenium erro
  • selenium 2 + python
    在使用selenium 2的时候,经常会碰到打开一个页面后新页面以新窗口打开,因为脱离当前窗口需要重新定位窗口,可以用以下方法定位到需要的窗口。#父窗口是0 browser.switch_to_window(browser.window_h...
    99+
    2023-01-31
    selenium python
  • python-selenium Page
    Page Object是一种程序设计模式,将面向过程转变为面向对象(页面对象),将测试对象及单个的测试步骤封装在每个Page对象中,以page为单位进行管理。可以使代码复用,降低维护成本,提高程序可读性和编写效率。#用page object...
    99+
    2023-01-31
    python selenium Page
  • python+selenium+auto
    在做web端ui层自动化的时候会碰到文件上传的操作,经常有朋友问到,这里总结一下第一种:type=file的上传文件,类似如下的使用类似这样的代码就可以完成:driver.find_element('name','file').send_k...
    99+
    2023-01-31
    python selenium auto
  • python + selenium 弹出
    alt = browser.switch_to_alert()alt.accept() 1、返回值对其判断时。str()避免语法错误2、字典不能有相同的键...
    99+
    2023-01-31
    弹出 python selenium
  • selenium+python(之一)
    各位好,今天是我第一次写博客,工作了也有一段时间了,今天想分享一些学习到的内容,大家共同学习,共同进步,写的不好的地方,多多待见,比较功底有限。 今天想写一些自动化相关的东西,也算是记录一下学习的历程吧。 环境:python+seleniu...
    99+
    2023-01-31
    selenium python
  • Python+Selenium与Chro
    开篇:最近有学员在学习Selenium时,使用firefox有问题,就想尝试chrome,而其使用crome时又遇到个各种问题..。特整理如下文章供遇到该问题的人参考整篇:如何解决呢?可参考如下..基础环境介绍:python3.5 + se...
    99+
    2023-01-31
    Python Selenium Chro
  • 基于Python的selenium
    一、安装 1.1安装Python,安装Python时需要勾选增加环境变量 如果之前已经安装过Python,需要将Python相关文件以及环境变量删除 1.2安装成功:在命令行界面下输入Python,最...
    99+
    2023-09-15
    python selenium pycharm
  • python selenium系列(一)
    一  selenium是什么?引用百度百科的介绍selenium的一段话:“Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(11
    一 前言Selenium系列文章已经基本涵盖了主要的知识点,至于PO模式,发现有篇文章写的挺好的,后续转载分享过来,哈哈。Python Web UI自动化技术就要告一段落了,接下来打算写Django Web开发相关的文章,希望有兴趣的同学可...
    99+
    2023-01-31
    系列 python selenium
  • python基于selenium+cv2
    首先贴上我的安装包 一、selenium安装  I.打开pycharm,点击Settings,找到Project Interpreter,点击右边的下拉菜单下的show All...选项  II.点击show All...选项后,点击框...
    99+
    2023-01-30
    python selenium
  • python+ selenium 实现简
    本文用到的文件的下载地址 百度网盘链接: https://pan.baidu.com/s/1wIda-wUz4X_Ck72xgZ6Ddg 提取码: etaa 1 安装Python 和 selenium (1)下载Python 官网地址: ...
    99+
    2023-01-31
    python selenium
  • selenium RC 与python集
    下载seleniumRC启动selenium server: java -jar selenium-server.jar下载python的selenium包如果python里有pip install -U selenium自动下载安装后,s...
    99+
    2023-01-31
    selenium RC python
  • python selenium系列(五)
    一 前言提起断言,接触过软件测试相关工种的同学们,一定不会陌生。比如,功能测试/自动化测试判断用例是否通过,靠的就是检查测试结果与预期是否一致;稍微不同的是,功能测试的结果检查是由人工完成的,而自动化测试是通过预先把期望结果写入脚本,并与实...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(四)
    一 前言在前面的selenium系列(二)元素定位方式和selenium系列(三)常用操作类型及方法两节中,已经介绍了web页面元素的识别定位、操作等技术,可能你会觉得掌握这两项技术就可以实施web自动化了,答案基本是这样的,毕竟元素定位和...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(三)
    一 前言开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容。在python selenium系列(二)元素定位方式一文中,已经介绍了如何找到元素这项技能,本文将介绍第二项内容,即如何操作已经找到的元素。 二 操作方法...
    99+
    2023-01-31
    系列 python selenium
  • python selenium系列(二)
    一 前言元素定位,是操作元素的第一步,也是WebUI自动化的难点和核心。 二 元素定位方法selenium提供了内置的方法完成对待操作元素的定位,主要分为8类,其中,每类又可细分为定位单个元素和定位多个元素,另外还提供了2个私有方法。详细如...
    99+
    2023-01-31
    系列 python selenium
  • Python selenium根据cla
      在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的。但是实际工作中,很多前端开发人员并未给每个元素都编写id属性。通常一段html代码如下: 1 <div class="sui-tips ...
    99+
    2023-01-30
    Python selenium cla
  • python selenium爬取kuk
    在爬取这个网站之前,试过爬取其他网站的漫画,但是发现有很多反爬虫的限制,有的图片后面加了动态参数,每秒都会更新,所以前一秒爬取的图片链接到一下秒就会失效了,还有的是图片地址不变,但是访问次数频繁的话会返回403,终于找到一个没有限制的漫画网...
    99+
    2023-01-31
    python selenium kuk
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作