Python selenium的学习笔记

时间:2021-07-23 06:02:38

参考文章

安装

# 推荐使用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/ 路径下即可