使用 selenium Click 进行自动化测试不适用于新的 Safari 17 IOS Sonoma 14.1

问题描述 投票:0回答:1

大家。 我想揭露我的问题。 自从我升级到 Safari 17、IOS Sonoma 14.1 后,我在 Safari 上的测试开始失败。 特别是,例如元素的单击事件。 Element.click() 或 button.click()

 elem =  web_driver.find_element(By.XPATH,Mylocator)          
 self.mouse_over(elem)
 elem.click()

好像点击事件没有释放,只有用JS做点击才能让它工作。

web_driver.execute_script("arguments[0].click();", elem)

我想指出的是,该按钮是可见的,并且不会对其他一些元素隐藏,并且我使用其他浏览器(Chrome、Firefox、Edge)没有任何问题。 即使在升级之前我使用 Safari 也没有任何问题,一切正常。

有人遇到我的问题吗?如果是的话你解决了吗?我不想一直使用 js 来执行我的点击测试。 任何信息都很重要,谢谢。

IOS Sonoma 14.1
Safari 17.1
Selenium 4.14.0

更新--- 我发现,当运行测试的计算机上打开其他应用程序、iTerm 或 ActivityMonitor 发出警报等时,就会出现问题。退出应用程序后,测试可以正常工作。 如果 safari 窗口进入后台,则测试失败,或者单击未释放,则未找到项目

python selenium-webdriver safari automation-testing macos-sonoma
1个回答
0
投票

尝试执行javascript点击事件 尝试执行焦点事件 尝试检查是否有任何重叠元素 在执行 selenium 脚本之前确保所有元素都已加载。

© www.soinside.com 2019 - 2024. All rights reserved.