python自动化webdriver相关操作
一、控制浏览器相关操作
1、控制浏览器窗口大小
- 全屏显示maximize_window()
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(3)
#全屏显示
driver.maximize_window()
- 指定浏览器大小set_window_size(w, h)
#指定浏览器大小
driver.set_window_size(600,400)
2、控制浏览器前进forward()和后退back()
#前进
driver.forward()
#后退
driver.back()
3、刷新refresh()
#刷新页面
driver.refresh()
4、窗口截屏
img_dir = "C:\\测试\\img.png"
driver.save_screenshot(img_dir)
二、webdriver常用方法
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | clear() | 清除 |
| 2 | send_keys(“value”) | 输入内容 |
| 3 | click() | 点击事件 |
| 4 | submit() | 提交 |
| 5 | size | 元素尺寸 |
| 6 | text | 元素文本 |
| 7 | get_attribute() | 获取属性 |
| 8 | is_displayed() | 查看该元素是否用户可见 |
三、鼠标操作
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | click() | 鼠标点击事件 |
| 2 | move_to_element() | 鼠标悬停效果 |
| 3 | context_click() | 鼠标右击事件 |
| 4 | double_click() | 鼠标双击事件 |
| 5 | drag_and_drop() | 鼠标拖动事件 |
1、单击事件
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.implicitly_wait(3)
driver.get("https://www.baidu.com")
driver.find_element(By.ID,"kw").send_keys("单击事件")
element = driver.find_element(By.CSS_SELECTOR,'#su')
ActionChains(driver).click(element).perform()
2、鼠标悬停
#鼠标悬停
ActionChains(driver).move_to_element(element).perform()
3、鼠标右击事件
#鼠标右击击事件
ActionChains(driver).context_click(element).perform()
4、鼠标双击事件
#鼠标双击事件
ActionChains(driver).double_click(element).perform()
5、鼠标拖动事件
#鼠标拖动事件
tag = driver.find_element(By.CSS_SELECTOR,"#div1")
ActionChains(driver).drag_and_drop(element,tag).perform()
四、键盘相关操作
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | send_keys(Keys.BACK_SPACE) | 删除键(BackSpace) |
| 2 | send_keys(Keys.SPACE) | 空格键(Space) |
| 3 | send_keys(Keys.TAB) | Tab 键 |
| 4 | send_keys(Keys.ESCAPE) | ESC 键 |
| 5 | send_keys(Keys.ENTER) | Enter 回车键 |
| 6 | send_keys(Keys.CONTROL,“a”) | Ctrl+a | Ctrl+c | Ctrl+x | Ctrl+v |
| 7 | send_keys(Keys.F1) | F1~F12 |
以Enter回车键为例演示
from selenium import webdriver
from selenium.webdriver.common.by import By
# 引入Keys模块
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
#键盘按键操作
element=driver.find_element(By.ID,"kw")
element.send_keys("Enter回车事件")
element.send_keys(Keys.ENTER)
五、显示等待和隐式等待
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome()
#隐式等待
driver.implicitly_wait(3)
driver.get("https://www.baidu.com")
#显示等待
WebDriverWait(driver,5,1).until(expected_conditions.visibility_of_element_located(By.ID,"kw"))
本文详述了使用Python的selenium库进行自动化测试的关键操作,包括浏览器控制、元素交互、鼠标和键盘操作,以及等待策略。通过实例展示了如何进行全屏显示、窗口大小调整、前进后退、刷新、截图等浏览器操作,并介绍了send_keys、click、submit等元素方法,以及鼠标的各种动作。此外,还涵盖了键盘事件模拟,如回车键的使用。最后,讲解了显示等待和隐式等待在测试中的应用,确保元素可见性。
862

被折叠的 条评论
为什么被折叠?



