selenium元素定位的八种方法
find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_css_selector()
find_element_by_xpath()
find_element_by_tag_name()
webdriver常用的操作对象的方法:
click():点击对象
send_keys():模拟键盘输入,使用时如果出现中文乱码,在括号内加上u,即使用utf-8的编码方式,即可解决中文乱码问题
clear():清除对象内容
submit():提交对象内容(主要针对表单)
text:获取元素文本信息
等待时间方法:
time.sleep():固定时间等待,在实际的应用中是比较耗时的
implicitly_wait():隐式等待,设置最长等待时间,如果在最长时间内还没有得到需要的值,那么就会报错,在脚本中只需要设置一次即可
WebDriverWait():显式等待,一般与until或until_not连用,有三个参数,第一个是Chrome对象(driver),第二个是等待时间,第三个是监测时间间隔,默认是500ms
浏览器方法和属性:
maximize_window():设置浏览器窗口最大化
set_window_size():自定义设置浏览器宽高
back():回退到上一个页面
forward():前进到下一个页面
current_window_handle():获取当前窗口句柄
window_handles():获取所有窗口句柄
switch_to.window(handle):切换窗口
fullscreen_window():全屏
refresh():刷新当前网页
键盘操作:
调用键盘操作需要引入Keys包,然后通过send_keys()调用按键
from selenium.webdriver.common.keys import Keys
driver.find_element_by_id(“xxx”).send_keys(keys.TAB)
driver.find_element_by_id(“xxx”).send_keys(keys.ENTER) 回车键
组合键:
driver.find_element_by_id(“xxx”).send_keys(keys.CONTROL, “a”) ctrl+a组合键
driver.find_element_by_id(“xxx”).send_keys(keys.CONTROL, “c”) ctrl+c组合键
driver.find_element_by_id(“xxx”).send_keys(keys.CONTROL, “x”) ctrl+x组合键
鼠标操作:
使用鼠标操作需要注意使用ActionChains类
from selenium.webdriver.common.action_chains import ActionChains
context_click():右击元素
double_click():双击元素
drag_and_drop():拖动元素
move_to_element():鼠标悬停
perform():执行ActionChains中的存储行为
ActionChains(driver).context_click(右击定位元素).perform()
双击、鼠标悬停的方法与右击相同
ActionChains(driver).drag_and_drop(old_element, new_element).perform()拖动元素到另一元素上