常用方法
1. 启动浏览器
driver = webdriver.Firefox()
2. 通过get方法访问目标url
driver.get("http://www.baidu.com")
3. 刷新当前网页
self.driver.refresh()
4. 当前窗口最大化
self.driver.maximize_window()
5. 获取页面的html源代码
pageSource = self.driver.page_source
6. 调用driver的title 属性 获取页面的title属性
title = self.driver.title
7. 获取当前页面的url地址
currentPageUrl1 = self.driver.current_url
8. 获取当前窗口句柄
now_handle = self.driver.current_window_handle
9. 断言当前页面的title属性值是否是“百度一下,你就知道”
self.assertEqual(title,"百度一下,你就知道","页面title属性值错误")
10. 断言标题是"搜狗搜索引擎"
assert self.driver.title.find("搜狗搜索引擎") >= 0,"assert error"
11. 判断页面元素是否可操作
print(nowsElement.is_enabled)
12. 获取页面元素,找到输入框元素
searchBox = self.driver.find_element_by_id("query")
13. 获取搜索输入框页面元素的name属性值
print(searchBox.get_attribute("name"))
14. 清楚输入框中的内容
input = self.driver.find_element_by_id("kw")
imput.clear()
15. 单击
Button = self.driver.find_element_by_id("button")
Button.click()
16. 双击某个元素
from selenium.webdriver import ActionChains
input = self.driver.find_element_by_id("su")
action_chains = ActionChains(self.driver)
action_chains.double_click(input).perform()
17. 单选下拉列表 遍历多个选项并显示所有选项的文本和选项值
# 使用name属性找到页面上的name属性为"fruit"的下拉列表元素,也可以根据属性值选择或根据文本选择
select = self.driver.find_element_by_xpath("/html/body/select")
all_options = select.find_elements_by_tag_name("option")
for option in all_options:
print("选项显示的文本:",option.text)
print("选项值为:",option.get_attribute("value”))
option.click()
time.sleep(3)
18. 拖动元素
initialPosition = self.driver.find_element_by_id("draggable")
targetPosition = self.driver.find_element_by_id("draggable2")
dragElement = self.driver.find_element_by_id("draggable3")
from selenium.webdriver import ActionChains
'''
创建一个新的ActionChains,将webdriver 实例对象driver 作为参数值传入
然后通过WebDriver实例执行用户动作
'''
action_chains = ActionChains(self.driver)
# 将页面上第一个能被拖拽的元素拖拽到第二个元素的位置
action_chains.drag_and_drop(initialPosition,targetPosition).perform()
# 架构页面上第三个能拖拽的元素向右下拖动10个像素,共拖动5次
for i in range(5):
action_chains.drag_and_drop_by_offset(dragElement,10,10).perform()
time.sleep(2)
19. 组合按键
from selenium.webdriver import ActionChains
ActionChains(self.driver).key_down(keys.control).send_keys('a').key_up(keys.control).perform
20. 长按鼠标
from selenium.webdriver import ActionChains
# 在ID属性值为'div1'的元素上执行按下鼠标左键,并保持
ActionChains(self.driver).click_and_hold(div).perform()
# 在id 属性值为"div1"的元素上释放一直按下的鼠标左键
ActionChains(self.driver).release(div).perform()
21. 鼠标悬停
from selenium.webdriver import ActionChains
# 将鼠标悬浮到第一个链接元素上
ActionChains(self.friver).move_to_element(link1).perform()
————————————————
版权声明:本文为CSDN博主「test_豆」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/doudou617/article/details/81020726