Python Selenium4.3.0(新语法) web自动化测试工具

1 介绍
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。

支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等

这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。

中文教程:http://www.selenium.org.cn/

2 入门准备
1、安装

pip install selenium

2、下载浏览器驱动

(1)谷歌驱动

http://chromedriver.storage.googleapis.com/index.html

# linux chrome
https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

(2)火狐驱动

https://github.com/mozilla/geckodriver/releases/

3、测试代码
可以指定路径,或将驱动放到当前文件夹

from selenium import webdriver

url = "https://www.baidu.com/"

# 加载驱动
# driver = webdriver.Firefox()   # Firefox浏览器
# driver = webdriver.Firefox("驱动路径")
driver = webdriver.Chrome()    # Chrome浏览器
# driver = webdriver.Ie()        # Internet Explorer浏览器
# driver = webdriver.Edge()      # Edge浏览器
# driver = webdriver.Opera()     # Opera浏览器
# driver = webdriver.PhantomJS()   # PhantomJS

# 打开网页
driver.get(url)

3 等待策略
3.1 显式等待
显式等待使WebDriver等待某个条件成立时继续执行,否则在达到最长事件抛出超时异常(TimeoutException)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Firefox()
driver.get("https://www.baidu.com")

element = WebDriverWait(driver, 3, 0.5).until(
    EC.presence_of_element_located((By.ID, "kw"))
)
element.send_keys('python')
driver.quit()

WebDriverWait类有WebDriver提供,在设置事件内,默认每间隔一段时间检测一次当前页面元素是否存在,如果超时则未检测到,则抛出异常。

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

driver:浏览器驱动
timeout:最长超时时间,默认单位为s
poll_frequency:超时后的异常信息,默认情况下抛–NoSuchEle

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值