python自动化之控制浏览器

本文详述了使用Python的selenium库进行自动化测试的关键操作,包括浏览器控制、元素交互、鼠标和键盘操作,以及等待策略。通过实例展示了如何进行全屏显示、窗口大小调整、前进后退、刷新、截图等浏览器操作,并介绍了send_keys、click、submit等元素方法,以及鼠标的各种动作。此外,还涵盖了键盘事件模拟,如回车键的使用。最后,讲解了显示等待和隐式等待在测试中的应用,确保元素可见性。

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常用方法
序号方法描述
1clear()清除
2send_keys(“value”)输入内容
3click()点击事件
4submit()提交
5size元素尺寸
6text元素文本
7get_attribute()获取属性
8is_displayed()查看该元素是否用户可见
三、鼠标操作
序号方法描述
1click()鼠标点击事件
2move_to_element()鼠标悬停效果
3context_click()鼠标右击事件
4double_click()鼠标双击事件
5drag_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()
四、键盘相关操作
序号方法描述
1send_keys(Keys.BACK_SPACE)删除键(BackSpace)
2send_keys(Keys.SPACE)空格键(Space)
3send_keys(Keys.TAB)Tab 键
4send_keys(Keys.ESCAPE)ESC 键
5send_keys(Keys.ENTER)Enter 回车键
6send_keys(Keys.CONTROL,“a”)Ctrl+a | Ctrl+c | Ctrl+x | Ctrl+v
7send_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"))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qi诺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值