selenium 常用API

页面定位元素:

find_element_by_id()
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()

键盘事件Keys类:

end_keys(Keys.BACK_SPACE) 删除键(BackSpace)

send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)
send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)
send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)

ActionChains 类鼠标操作的常用方法:

context_click() 右击

double_click() 双击

drag_and_drop() 拖动

move_to_element() 鼠标悬停在一个元素上

click_and_hold() 按下鼠标左键在一个元素上

context_click() 右键点击一个元素。

 

浏览器多窗口:

current_window_handle
获得当前窗口句柄
window_handles
返回的所有窗口的句柄到当前会话
switch_to_window()
用于处理多窗口操作的方法,与我们前面学过的 switch_to_frame() 是类似,switch_to_window()用于
处理多窗口之前切换,switch_to_frame() 用于处理多框架的切换。
close()
如果你足够细心会发现我们在关闭“注册页”时用的是 close()方法,而非 quit();close()用于关闭当前
窗口,quit()用于退出驱动程序并关闭所有相关窗口

定位frame框架:

switch_to_frame(‘id’)或name

定位一组对象:

find_elements_by_tag_name()

设置等待时间:

WebDriverWait(WebDriverWait,5,1).until(lambda d:driver.find_element_by_id('kw')) 每个1秒检查是否找到元素,5秒超时,直到返回值不为 False

WebDriverWait(WebDriverWait,5,1).until_not(lambda d:driver.find_element_by_id('kw').is_displayed()) 直到返回值不为 False

implicitly_wait(5) 找到元素直接执行下一步,否则等待5秒元素出现

clear() 用于清除输入框的默认内容
比如登录框内一般默认会有“账号” “密码”等提示信息,如果直接输入内容,和可能会与输入框的
默认提示信息拼接,从而造成输入信息的错误;这时 clear()将变得非常有用。


send_keys("xx") 用于在一个输入框里输入 xx 内容

click() 用于单击一个按钮
其实 click()方法不仅仅用于点击一个按钮,可以单击任何可以点击的元素,文字/图片连接,按钮,
下拉按钮等。


submit() 提交表单
submit()要求提交对象是一个表单,更强调对信息的提交。click()更强调
事件的独立性。 (比如,一个文字链接就不能用 submit()方法。 )

size 返回元素大小

例如,driver.find_element_by_id("kw").size

text 获取元素的文本

例如,driver.find_element_by_id("kw").size

get_attribute(name) 获取属性值

例如,driver.find_element_by_id("kw").get_attribute('type')

is_displayed() 元素是否可见

例如,driver.find_element_by_id("kw").is_displayed()

alert/confirm/prompt处理:

switch_to_alert() 切换到alert

switch_to_alert().text 获取alert文本

switch_to_alert().accept() 确定

switch_to_alert().dismiss 取消

switch_to_alert().send_keys('') 输入值

上传文件可以用send_keys

执行js拖动滚动条:

例如,js = 'var q=document.documentElement.scrollTop=10000'

driver.execute_script(js)

原文地址:https://www.cnblogs.com/myprovencesky/p/5864108.html