安装python
安装Selenium之前首先来说一下Python,python是一门动态性语言,python的编写比较灵活,简洁,开发效率高。因此以python结合selenium来进行自动化测试。
所以得先下载python,python下载参考https://www.python.org。建议下载python3以上的版本,python3与python2语法有区别,而且python3的库比较齐全,而且python3被认为是python的未来。
安装好python之后,python安装包路径下Scripts文件夹里面有一个pip.exe可执行程序。它其实是一个安装和管理python包的工具,类似easy_install。
安装selenium
接下来就要使用这个工具来安装selenium了。
在windows cmd窗口输入:pip install -U selenium,会出现如下内容:
黄色部分提示更新pip,可更新,按照它提示的内容输入:python -m pip install --upgrade pip,进行更新。
如果不能通过:pip install -U selenium安装selenium,报错,失败的话,可在https://pypi.python.org/pypi/selenium进行selenium包下载。然后进行解压,在解压路径下执行python setup.py install再次运行即可成功。
在windows cmd窗口输入:pip show selenium,查看selenium是否安装成功。
浏览器安装
说是浏览器安装,实质上是浏览器对应的Driver进行安装,当然前提必须是安装浏览器了。觉得chrome浏览器用的比较多一些,而且也比较好用,所以以chrome为例。http://chromedriver.storage.googleapis.com/index.html 里面包括各个版本的Driver供下载,下载Driver需对应自己安装的浏览器版本。浏览器版本可以在浏览器页面地址栏右边设置里面的帮助查看。也可以在地址栏中输入chrome://version进行查看。
选择与版本匹配的文件进行下载,并解压。找到chrome浏览器,在图标上右击打开文件所在位置,将解压完成后将chromedriver.exe该路径下面。
然后将chrome浏览器的安装目录加入到path环境变量中,让其在任意文件目录下都能够运行。
测试是否安装成功
from selenium import webdriver # 导入webdriver包 import time driver = webdriver.Chrome() # 初始化一个谷歌浏览器实例:driverdriver.maximize_window() # 最大化浏览器time.sleep(2) # 暂停5秒钟driver.get("https://www.baidu.com") # 通过get()方法,打开一个url站点
问题1:用pycharm编辑上述代码时,提示selenium无法找到,原因为:python安装路径下D:\python\venv\Lib\site-packages没有上面pip.exe下载的selenium,原来是下载在D:\Program Files\Lib\site-packages路径下了,将selenium拷贝到D:\python\venv\Lib\site-packages就可以了。
问题2:path环境配置之后,仍提示chromedriver找不到,需要进行驱动传入,若至传入路径,会报Application错误。
解决方法是:chromedriver="C:\Program Files\Google\Chrome\Application";driver = webdriver.Chrome(chromedriver),将此驱动进行传入。
1 from selenium import webdriver # 导入webdriver包 2 3 import time 4 5 chromedriver = "C:\Program Files\Google\Chrome\Application\chromedriver" 6 browser = webdriver.Chrome(chromedriver) 7 browser.maximize_window() # 最大化浏览器 8 time.sleep(2) # 暂停5秒钟 9 browser.get("https://www.baidu.com") # 通过get()方法,打开一个url站点
运行以上脚本,成功打开百度网页,表示安装成功!
其他有打开雅虎网站的,修改为以下,可打开:
1 from selenium import webdriver 2 from selenium.common.exceptions import NoSuchElementException 3 from selenium.webdriver.common.keys import Keys 4 import time 5 6 chromedriver = "C:\Program Files\Google\Chrome\Application\chromedriver" 7 browser = webdriver.Chrome(chromedriver) # Get local session of Chrome 8 browser.get("http://www.yahoo.com") # Load page 9 assert "Yahoo!" in browser.title 10 elem = browser.find_element_by_name("p") # Find the query box 11 elem.send_keys("seleniumhq" + Keys.RETURN) 12 time.sleep(0.2) # Let the page load, will be added to the API 13 try: 14 browser.find_element_by_xpath("//a[contains(@href,‘http://seleniumhq.org‘)]") 15 except NoSuchElementException: 16 assert 0, "can‘t find seleniumhq" 17 browser.close()
原文地址:https://www.cnblogs.com/award/p/8613464.html