Python3中使用webdriver

1、使用pip安装,这里我就不说明如何安装pip了,我本地安装了python2和python3两个版本,也同样安装了两个pip,这里我使用的是python3,将使用的pip重命名为pip3,使用pip安装插件还是很方便的。

使用命令:pip3 install selenium==3.5.0 , 如果没有==3.5.0会默认安装一个版本,我这里默认的是3.1.x,用命令限定一下版本有助于纠错。

安装完成后可通过命令:pip3 show selenium 查看

2、下载对应的浏览器驱动,我本地安装了chrom,所以我就不在找firefox和IE的相关驱动了,网友提供了浏览器驱动的地址 http://chromedriver.storage.googleapis.com/index.html,需要自己找对应的版本(版本好像没有太严格限制,找相近的版本就可以,我本地浏览器版本是:69.0.3497.100(正式版本) (64 位),下载的对应驱动为 2.43 chromedriver_win32.zip ,对应我windows系统)。浏览器驱动只是用来执行浏览器的一些动作,并不能代替安装浏览器,下载好的浏览器驱动需要放在和浏览器可执行文件的同目录下。我的目录是 C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe 。

3、准备完成之后,可以写相关代码了

#selenium:3.5.0

#webdriver:2.43

#chrome.exe: 69.0.3497.100(正式版本)

from seleniumimport webdriver

from selenium.webdriver.chrome.optionsimport Options

chrome_options = Options()

chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错

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"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" #手动指定使用的浏览器位置

driver=webdriver.Chrome(chrome_options=chrome_options)

driver.get('https://www.baidu.com')

print('hao123' in driver.page_source)

print(driver.title)

driver.close()#切记关闭浏览器,回收资源

输出结果:

D:\tools\Python34\python.exe E:/PycharmProjects/Getjdprice.py

True

百度一下,你就知道

Process finished with exit code

关于Options的相关参数我也在摸索,以后有机会再补充吧。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇文章在介绍官网的同时使用了比较多的脚本示例,示例里遇到的问题有部分在本篇文章进行了解释,还有一篇文章专门记录了...
    顾顾314阅读 12,963评论 3 32
  • Selenium 官网Selenium WebDriver官网webdriver实用指南python版本 WebD...
    顾顾314阅读 47,054评论 0 34
  • Selenium是一款强大的基于浏览器的开源自动化测试工具,最初由 Jason Huggins 于 2004 年在...
    FifiZhuang阅读 7,681评论 5 71
  • 洞见SELENIUM自动化测试 写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出...
    厲铆兄阅读 6,753评论 3 47
  • 基于 SELENIUM 的自动化测试架构 非常感谢各位查阅本篇文章,笔者在此感谢各位。 目前市面上有分门别类的自动...
    厲铆兄阅读 6,098评论 6 43