WebDriver API文档
定位元素
-
find_element_by_id:通过id属性定位
-
find_element_by_name:通过name属性定位
-
find_element_by_class_name:通过class属性定位
-
find_element_by_tag_name:通过tagname(div,input)定位元素
-
find_element_by_link_text:通过带link属性元素标签对之间的文本信息来定位元素
-
find_element_by_partical_link_text:通过带link属性元素标签对之间的部分文本信息来定位元素
-
find_element_by_xpath(’/html/body/div):页面元素路径的绝对定位来定位元素
-
find_element_by_xpath("//input[@id=‘su’]"):使用元素的属性值来定位
-
find_element_by_css_selector():通过css属性定位,可以设置.class,#id,target,span>input
-
find_element(key,value):针对前面介绍的8种定位方法,WebDriver还提供了另外一套写法,即统一调用find_element()方法,通过By来声明定位方法
key:By.ID,By.NAME,By.CLASS_NAME,By.TAG_NAME,By.LINK_TEXT,By.PARTICAL_LINK_TEXT,By.XPATH,By.CSS_SELECTOR
控制浏览器
- set_window_size(480,800):设置浏览器大小
- maximize_window():打开浏览器全屏显示
- back():前进
- forward():后退
- refresh():模拟浏览器刷新
简单元素操作
- clear():清除文本
- send_keys(*value):模拟按键输入
- click():单击元素
- submit():表单提交
- size():获取元素的宽高
- text():获取元素的文本值
- get_attribute():获得属性值
- is_displayed():设置该元素是否用户可见
鼠标事件
例如鼠标右击,双击,悬停,甚至是鼠标拖动等功能,在WebDriver中,将这些有关鼠标操作的方法封装在ActionChains类提供
- perform():执行所有ActionChins中存储的行为
- context_click():右击
- double_click():双击
- drag_and_drop():拖动
- move_to_element():鼠标悬停
- drag_and_drop(element.target):在源元素上按住鼠标左键,然后移动到目标元素释放
- WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)
- timeout:最长超时时间
- poll_frequency:检测的间隔(步长)时间,默认是0.5s
- ignored_exceptions:超时后的异常信息默认情况下抛NoSuchElementException异常
- WebDriverWait()一般由until()或者until_not()方法配合使用
- expected_conditions:提供预期条件判断方法(is_displayed())