由于页面中有谷歌元素,直接访问不行,需要代理。
自由门代理报错如下:
换用goagent连接。
在goagentlocal下,运行goagent.exe
弹出goagent服务窗口。将浏览器的代理设置为127.0.0.1端口8087
页面访问成功。
由于页面中有谷歌元素,直接访问不行,需要代理。
自由门代理报错如下:
换用goagent连接。
在goagentlocal下,运行goagent.exe
弹出goagent服务窗口。将浏览器的代理设置为127.0.0.1端口8087
页面访问成功。
今天执行selenium的一个简单脚本时,居然报错了,之前都是好着的。
网上查了查,说是selenium的版本太低了,火狐版本比较高造成的,下载最新版本可以解决这个问题。
而我看了看自己的版本,已经是最新版本了。
期间我升级过火狐,现在已经firefox30.0了,可能是火狐版本太高造成的。
没有火狐的低版本,于是我就用ie实验一下。没想到ie也报错了。
运行后,报错如下:
Message: u’Unexpected error launching Internet Explorer. Protected Mode sett
然后:
IE安全保护都去掉: internet选项——安全
internet-启用保护模式 勾去掉
本地internet-启用保护模式 勾去掉
可信站点-启用保护模式 勾去掉
受限站点-启用保护模式 勾去掉
运行后,结果如下:
调整浏览器缩放的大小,为百分之百,不缩放。
再次执行,可以执行成功,无报错。
火狐的版本 应该是selenium不支持火狐30.0以上的版本。
安装完成后,在C:Python27Libsite-packages目录下有两个文件夹。
其中selenium文件夹中包含了common公共库,webdriver模块,__init__.py初始化脚本,selenium.py。
Fetching a Page
首先你要做的是打开一个导航页面,通常这个方法是get。
driver.get(“http://www.google.com”)
打开谷歌首页。
Locating UI Elements
定位页面上的元素,通常有find Element和find Elements方法。
第一种返回一个web元素的对象,如果没有会报错。
第二种返回一个web元素的列表,如果没有返回空列表。
定位和查询一个对象调用的是“By”方法,By方法的使用有By ID,By Class Name,By Tag Name,By Name,By Link Text,By Partial Link Text,By Css,By XPATH
刚开始对脚本比较生的时候,可以用selenium ide进行录制。
这是火狐的一个插件,在附加组件里,搜索selenium ide进行安装。
#coding = utf-8
from selenium import webdriver
browser=webdriver.Firefox()
browser.get(“http://www.baidu.com”)
browser.find_element_by_id(“kw1”).send_keys(“hello”)
browser.find_element_by_id(“su1”).click()
browser.quit()
这是一个用浏览器打开www.baidu.com搜索hello,然后退出浏览器的例子。
如果执行比较快看不到效果,可以先屏蔽# browser.quit(),此时可以看到搜索结果。
不管怎样,先得把环境搭起来。
这里搭建的是结合python的selenium环境 。
首先,安装好python的环境。从官网下载安装包,下一步,下一步安装,完成后,设置环境变量。
装个pip工具,当然不安装也行,安装这个工具主要是为了安装selenium和其他扩展工具方便的。
https://pip.pypa.io/en/latest/installing.html#python-os-support
https://pip.pypa.io/en/latest/search.html?q=ez_setup.py&check_keywords=yes&area=default
下载setuptools。
下载get-pip.py
安装selenium,如图显示已经安装了,给它更新成最新版本。
Selenium安装完毕。
在新版本的 webdriver 中,只有安装了 ie driver 使用 ie 进行测试工作。