安装
# 推荐使用pip安装
>>>pip install selenium
快速入门
from selenium import webdriver
# 这里使用Chrome打开,也可以使用Firefox
driver = webdriver.Chrome()
# 模拟打开网站
driver.get('http://www.baidu.com/')
# 选取元素,若要选取多个元素,在element后面加s即可
# id名称
driver.find_element_by_id
# tag名称
driver.find_element_by_tag_name
# class名称
driver.find_element_by_class_name
# 获取整个页面
driver.page_source
# 提交表单
assert "xxx" in driver.title
# 其他方法
elem = driver.find_element_by_id("title")
elem.send_keys("xxx")
# 清除文本
elem.clear()
# 模拟点击
elem = driver.find_element_by_id("sublime")
elem.click()
# 模拟选择
select = Select(driver.find_element_by_id("id")
select.select_by_index(index)
...
# 取消选择
select.deselect_all()
# 元素属性
elem = driver.find_element_by_id("id")
attr = elem.get_attribute("value")
# 选择各种窗口
# 浏览器弹出框
# 等同于点击“确认”或“OK”
Alert(driver).accept()
# 等同于点击“取消”或“Cancel”
Alert(driver).dismiss()
# 验证,针对需要身份验证的alert,目前还没有找到特别合适的示例页面
Alert(driver).authenticate(username,password)
# 发送文本,对有提交需求的prompt框
Alert(driver).send_keys(keysToSend)
# 获取alert文本内容,对有信息显示的alert框
Alert(driver).text
# 通过switch_to.alert切换到alert
driver.switch_to.alert
# 浏览器窗口
# 获取当前窗口handle name
current_window = driver.current_window_handle
# 获取所有窗口handle name
all_windows = driver.window_handles
# 关闭新窗口后切回原窗口,在这里不切回原窗口,是无法操作原窗口元素的,即使你关闭了新窗口
driver.switch_to.window(current_window)
# 伪装对话框(即当前页面的内嵌框,如网易云音乐的登陆窗口)
# 原文无说明,在此也不进行解释
调用selenium模块失败
ubuntu16.04环境下解决方法:
1.根据配置下载 geckodriverckod
下载地址
2.解压后将geckodriverckod 存放至 /usr/local/bin/ 路径下即可