Selenium+python各种填坑

版本

Python3.5.2 \ Selenium3.4.0 \ FireFox51.0


安装setuptools与pip

  • setuptools是Python的distutilsde工具的增强工具,可以更方便的创建和发布Python包。
  • 在最新的Python安装包中已经集成了pip,所以不需要单独下载安装,没想到到后来程序运行,是一个大坑。
  • 第一个坑:下载setuptools-35.0.2.zip最新版本,通过python命令执行setup.py进行安装:进入到解压后的文件夹cd -python setup.py install 使用此方法会报错,解决使用:pip install setuptools 成功安装。

安装Selenium

  • 前面安装pip是为了更方便的安装Selenium包,通过pip命令可直接安装:pip install Selenium。第二个坑Selenium安装成功,但是在最下面会报一个警告,大致的就是说pip的版本问题。
Selenium+python各种填坑_第1张图片
Paste_Image.png

又重新更新了下pip:python -m pip install --upgrade pip

Selenium+python各种填坑_第2张图片
Paste_Image.png

成功 !!继续~


编写第一个自动化脚本

Selenium+python各种填坑_第3张图片
Paste_Image.png
  • 第三个坑:原以为可以运行了, 没想到蹦出来个错误,大致是说geckodriver需要配置在环境变量中。
Paste_Image.png
  • 得了,别废话,下载吧 geckodriver下载地址
  • 原来Selenium3有了一些比较大的改变,其中之一就是Webdriver从浏览器中分离出来了,所以需要单独安装。
  • 第四个坑:下载的最新版本,紧跟潮流喵~geckodriver-v0.16.0-win64.zip,解压后装在任意文件夹都可以,然后再配置环境变量Path,丫的,又报错,一直在提示 “selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities”。在网上查阅资料,大部分说是版本不兼容,火狐版本太高,这各种卸载,各种安装啊,欲哭无泪,还是报同样的错误,最后才知道,geckodriver版本装的高了,应该安装v0.15.0版本。
  • 接着需要将Firefox的可执行程序路径也添加到环境变量中,最后添加完了所有环境变量。
  • 最后重启IDLE,运行脚本,bingo~成功!!!
  • 这段代码做了以下几件事:
    1 导入Selenium Webdriver包,从而使用Webdriver API
    2 获得浏览器对象,赋值给变量driver
    3 通过get()方法,向浏览器发送网址
    4 通过页面元素的定位,定位到百度输入框,并通过键盘输入方法send_keys(),向输入框中输入"Selenium2"
    5 通过id定位百度一下搜索按钮,并发送click()单击事件
    6 退出并关闭浏览器

安装浏览器驱动

  • 各个浏览器驱动下载地址
  • 安装Chrome浏览器驱动,下载ChromeDriver_win32.zip,无论你的操作系统是32位还是64位的,都管用。解压后,将chromedriver.exe放到 C:\Python35\目录下,之前已经将 C:\Python35放到系统环境变量Path下,所以这里不需要再次添加。
  • 安装IE浏览器驱动,下载IEDriverServer_win32_xxx.zip,解压后同样放到C:\Python35\目录下。
  • 安装成功后可以用IE和Chrome来替换Firefox运行上面的例子:
    将driver=webdriver.Firefox()
    替换为:
    driver=webdriver.Chrome()
    或:
    driver=webdriver.Ie()
    程序正常运行。

你可能感兴趣的:(Selenium+python各种填坑)