selenium常用api
浏览器
定位/操作对象
webdriver 提供了一系列的元素定位方法,常用的有以下几种:
获取单个的:find_element_by_xxx()
获取所有的:find_elements_by_xxx()获取所有的
传数据:send_keys()
点击:click()
清除数据:clear()
提交:submit()
其他常用WebElement方法
获取该对象的尺寸大小:driver.find_element_by_id("kw").size()
获取该对象的文本:driver.find_element_by_id("cp").text
获取该对象的属性:driver.find_element_by_id('su').get_attribute('type')
该对象是否可见(布尔):driver.find_element_by_id("kw").is_displayed()
键盘事件
from selenium.webdriver.common.keys import Keys
层级定位
driver.find_element_by_id('xx').find_element_by_link_text('xx').click()
这里用到了二次定位,通过对 Link1 的单击之后,出现下拉菜单,
先定位到下拉菜单,再定位下拉菜
单中的选项。当然,如果菜单选项需要单击,可通过二次定位后也直接跟 click()操作。
frame定位
switch_to_frame方法
跳转句柄
select(option)
对这种类型的下拉框一般的处理是两次点击,第一点击弹出下拉框,
第二次点击操作元素。当然,也有些下拉框是鼠标移上去直接弹出的,
那可以使用 move_to_element()进行操作
文件上传
直接定位file标签sendkeys绝对路径或者相对路径
调用js
execute_script
控制浏览器滚动条
利用js操作滚动条实现,但是selenium3中支持自动搜索页面,不需要再操作滚动条来检索标签元素,了解即可
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
time.sleep(2)
cookie操作
获取对象的属性