前言:
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建衰退测试检验软件功能和用户需求。支持自动录制动作和自动生成。Net、Java、Perl等不同语言的测试脚本。Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具。
1、selenium安装
1.1、selenium库和其它库一样,可以使用pip直接安装
pip install selenium
这样就安装成功了,如果pip安装失败,可以使用下载到本地文件的方法安装,python库都是在这里下载的https://pypi.org/,选择合适的版本,32位或64位,py2或py3,py3.6或py3.7等,文件类型.whl或.tar.gz的都行。然后再使用pip install......
,可以参考教程python安装库失败,导入库没有模块解决方法 。
1.2、现在安装好了,我们来测试一下
from selenium import webdriver
browser = webdriver.chrome()#打开浏览器
browser.get('https://www.baidu.com')#输入网址
print (browser.page_source)#打印网页的源码
browser.close()#关闭浏览器的该页面
1.3、只是安装selenium是不够的,还需要配置浏览器的才行,如谷歌的需要下载对应版本的chromedriver
,现在谷歌的官网必须要翻墙才能进入,就直接在百度搜索chromedriver就有相应的下载,网址为: http://npm.taobao.org/mirrors/chromedriver/ 。
先查看自己的浏览器版本:自定义及控制–>帮助–>关于
这样就可以查看自己的google版本了,我的这个已经是最新版本76.0.3809.100
现在再下载对应版本的chromedriver
注意: 这上面并没有我的版本号76.0.3809.100
,我的浏览器提示已经是最新版本,但是它还有77.0.3865.10/
,我重新下载谷歌浏览器最新版本还是76.0.3809.100
… … 我分别下载了上面的76.0.3809.68/
和77.0.3865.10/
两个版本的chromedriver来配置环境,但都没有成功,应该是版本不匹配导致的,我就不详述了。
2、声明浏览器对象
在使用时需要声明浏览器对象,如:
但是我的情况比较特别,版本不匹配,安装不成功,这样直接报错找不到文件路径。
最终解决方法:
引用chromedriver.exe,必须输入完整的路径+文件名 !!!
再次测试一下:
from selenium import webdriver
browser = webdriver.Chrome('D:\Python\Python36\chromedriver.exe')#打开浏览器,完整的路径+文件名。
browser.get('https://www.baidu.com')#输入网址
print (browser.page_source)#打印网页的源码
browser.close()#关闭浏览器的该页面
运行结果截图:
运行成功!!!
如果没有关闭浏览器,你就可以看到Chrome正受到自动测试软件的控制。
注: selenium打开的百度官网是没有登录百度账号的!
还可以测试更多的功能,都没有问题了
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
browser = webdriver.Chrome('D:\Python\Python36\chromedriver.exe')#打开浏览器,完整的路径+文件名。
try:
browser.get('https://www.baidu.com')#输入链接
input = browser.find_element_by_id('kw')#在kw内输入
input.send_keys('Python')#输入python
input.send_keys(Keys.ENTER)#按回车
wait = WebDriverWait(browser,10) #浏览器最多等待加载10秒
wait.until(EC.presence_of_element_located((By.ID,'content_left')))#验证本地元素存在
print(browser.current_url)#打印导航栏的链接
print(browser.get_cookies()) #获取cookie值
print(browser.page_source)#获取网页网页源代码
finally:
browser.close()#关闭浏览器
来源:https://blog.csdn.net/ayouleyang/article/details/99437754