一:定位八种方法
例如:
二:常见的webdriver方法
1.浏览器相关:(打开浏览器先导入webdriver模块)
(1)set_window_size(480,800)调整浏览器宽高大小
(2)maximize_window()浏览器最大化
(3)back()向后
(4)forward()向前
(5)refresh()刷新
(6)close()关闭当前浏览器
(7)quit()关闭所有浏览器
(8)js = "window.scrollto(300,200)" #300表示左边距,200表示上边距
(9)浏览器属性(句柄)
current_window_handle 当前页面的句柄
window_handles 当前所有的句柄
(10)switch_to_window() 切换窗口(一般通过句柄切换)
2.文本按钮操作相关:
(1)send_keys()输入文本
(2)clear()清除文本
(3)click()点击按钮
(4)submit()类似输入文本后回车
(5)size返回元素的尺寸
(6)text获取文本
(7)get_attribute(type)获取属性值
3.鼠标相关
(1)context_click()右击
(2)double_click()双击
(3)drag_and_drop()拖动
(4)move_to_element()鼠标悬停
(5)perform()执行
4.等待相关
(1)implicitly_wait()隐式等待,灵活性好
(2)time.sleep()等待
5.复选框相关
6.下拉框处理
(1)select模块定位
from selenium.webdriver.support.select import Select
#导入select模块
Select提供了三种选择方法:
select_by_index(index) ——通过选项的顺序,第一个为 0
select_by_value(value) ——通过value属性
select_by_visible_text(text) ——通过选项可见文本
Select提供了四种方法取消选择:(只能取消选择多选选项)
deselect_by_index(index)
deselect_by_value(value)
deselect_by_visible_text(text)
deselect_all()
(2)二次定位(基本思路,先定位 select 框,再定位 select 里的选项)
7.iframe相关
(1)switch_to.frame()选择一个frame---只能用id或name定位frame
(2)假如iframe没有可定位的id或name那么可以通过xpath先定位到iframe,再将对象传给switch_to.frame():如下
iframe_xpath=driver.find_element_by_xpath('//*[@class="if"]')
driver.switch_to.frame(iframe_xpath)
.......
(3)switch_to.default_content()取消选择一个frame(跳回最外层的页面)
switch_to.parent _content()取消选择一个frame(跳出当前frame)
8.弹窗相关
(1)switch_to_ #确定
(2)switch_to_ #取消
(3)browser.switch_to_.text #获取弹框信息
9.调用selenium下的by库里的By模块
(1)先导库:from selenium.webdriver.common.by import By
(2)再定位元素:driver.find_element(By.ID,'kw')
10.数据精度调整,保留小数位数