selenium4 与 selenium3 的区别

本贴最后更新于 850 天前,其中的信息可能已经渤澥桑田

1)初始化浏览器对象

在初始化driver对象的时候,selenium4多了一个Service类,用来管理驱动程序的启动,停止。
service = Service(r"E:\python39\chromedriver.exe")
driver = webdriver.Chrome(service=service)


2)元素定位策略

selenium4新增了相对定位策略,
具体请参考测试派文章: selenium4 - 8 大经典定位以外,新增相对定位
官方地址:https://www.selenium.dev/documentation/webdriver/elements/locators/


3)查找元素方法

selenium4精简了,只保留了find_element,和find_elements这2个方法。
selenium3当中,除了以上2个,还有find_element_by_XXX, find_elements_by_XXXX。
实际上,在selenium3的代码当中,find_element/elements_by_XXX这些方法内部都是直接调的find_elment和find_elements方法的。


4)expected_condition模块

显性等待的expected_condition模块当中,各个条件的实现方式上,selenium4是以函数的形式实现的。
在selenium3当中,每个条件都是通过类实现的。类里面有2个魔法函数,一个是__init__, 一个是__call__,当然,也新增了一些其它的条件方法进去。


5)ActionChains类

-- selenium4和appium2都是使用ActionChains类来完成鼠标操作、触屏操作,多点触控操作。
appium1的时候,触屏操作TouchAction和MultiAction实现,而appium2当中改成了ActionChains类来完成。
ActionChains实现方式也已经发生了改变,请参看测试派相关文章: 新鲜出炉:appium2.0+ 单点触控和多点触控新的解决方案

回帖
请输入回帖内容 ...