Python selenium的学习笔记

参考文章

安装

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

如果发现send_keys等操作无效,请确认chromedrivrechrome版本号是对应的。具体参看官网http://chromedriver.chromium.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值