用途及含义
Selenium Python提供了一个使用Selenium WebDriver编写功能/验收测试的简单API。通过Selenium Python API,可以直观地访问Selenium WebDriver的所有功能,同时提供了一个方便的API来访问各大浏览器,如Firefox、Ie、Chrome等。当前支持的Python版本为3.5及以上
安装
Python 3 中使用pip安装
pip install selenium
或者通过cmd 定位到python 安装目录执行
C:\Python\Scripts\pip.exe install selenium
同时需要下载各个浏览器驱动(建议根据自己电脑安装的浏览器版本选择合适的),这里官方地址,由于某种原因,可能无法下载,国内有镜像源,可以使用国内的
Chrome:https://sites.google.com/chromium.org/driver/
Edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Firefox:https://github.com/mozilla/geckodriver/releases
Safari:https://webkit.org/blog/6900/webdriver-support-in-safari-10/
使用
这里写一个damo作为案例介绍使用,
在使用之前我们需要导入相关包,webdriver模块提供所有webdriver实现。目前支持的WebDriver实现有Firefox、Chrome、IE和Remote。Keys类在键盘中提供诸如RETURN、F1、ALT等键。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
接下来,创建Firefox WebDriver实例。
driver = webdriver.Firefox()
get方法将导航到URL给定的页面,请注意,如果您的页面在加载时使用了大量AJAX,那么WebDriver可能不知道它何时已完全加载,需要等待一段时间
driver.get("http://www.python.org")
接下来,我们发送按键,这类似于使用键盘输入按键,。为了安全起见,我们将首先清除输入字段中的所有预填充文本(例如“搜索”),这样不会影响我们的搜索结果:
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
提交页面后,如果有结果,请进行断言
assert "No results found." not in driver.page_source
最后,关闭浏览器窗口。也可以调用quit方法而不是close。
driver.close()
完整代码如下:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
下一节将分享如何使用Selenium 定位页面元素,输入输出。