元素定位:
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_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() #智能等待
time.sleep(3) #休眠3秒
implicitly_wait() #智能等待
对浏览器的操作:
最大化:driver.maximize_window()
设置宽和高:driver.set_window_size(width,height)
最大化:driver.maximize_window()
设置宽和高:driver.set_window_size(width,height)
浏览器的前进和后退:
前进:driver.forward()
后退:driver.back()
前进:driver.forward()
后退:driver.back()
操作对象:
click() 点击对象
send_keys() 模拟按键输入
clear() 清除对象内容
submit() 如果有submit按钮,自动提交表单
text 获取文本信息
get_attribute() 获取属性值
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
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位置
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")
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
driver.get_cookies() 获得cookie 信息
add_cookie(cookie_dict) 向cookie 添加会话信息
delete_cookie(name) 删除特定(部分)的cookie
delete_all_cookies() 删除所有cookie