python+selenium用法小结

元素定位:
find_element_by_id()    //根据id属性定位
find_element_by_name()   //根据name属性定位
find_element_by_class_name()    //根据class属性定位
find_element_by_link_text()      //根据文字链接
find_element_by_partial_link_text()    //根据文字链接的一部分
find_element_by_tag_name()       //根据标签名称
find_element_by_xpath()  //根据xpath定位
find_element_by_css_selector()     //根据css选择器定位

find_element_by_xpath()和find_element_by_css_selector()可以直接在chrome中的检查中copy

打开网页需要添加等待时间让网页加载完成:
time.sleep(3)  #休眠3秒
implicitly_wait() #智能等待

对浏览器的操作:
最大化:driver.maximize_window()
设置宽和高:driver.set_window_size(width,height)

浏览器的前进和后退:
前进:driver.forward()
后退:driver.back()

操作对象:
click() 点击对象
send_keys()  模拟按键输入
clear()  清除对象内容
submit()  如果有submit按钮,自动提交表单
text  获取文本信息
get_attribute()  获取属性值

键盘操作:(引入keys包)
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("xx").send_keys(Keys.ENTER) (输入回车)
Keys.TAB  #换行
组合键:
send_keys(Keys.CONTROL,'a') #ctrl+a

鼠标操作:导入ActionChains包
from selenium.webdriver.common.action_chains import ActionChains
dr.find_element_by_id("xx").context_click() #右击
double_click()  #双击
drag_and_drop(a,b)  #将a拖动到b位置

定位一组元素:将元素定位中的element换成elements,返回的是列表

多层框架/窗口
switch_to_frame("frame_name")
switch_to_window("window_name")

上传文件:driver.find_element_by_id("xx").send_keys(文件路径名,绝对相对都可以)


对话框
text 返回alert/confirm/prompt 中的文字信息
accept 点击确认按钮
dismiss 点击取消按钮,如果有的话
send_keys 输入值,这个alert\confirm 没有对话框就不能用了,不然会报错。


调用js:execute_script(script,*args) #在当前窗口执行js脚本

cookie处理:
driver.get_cookies() 获得cookie 信息
add_cookie(cookie_dict) 向cookie 添加会话信息
delete_cookie(name) 删除特定(部分)的cookie
delete_all_cookies() 删除所有cookie
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值