我正在使用Selenium Webdriver最新版本,并在Chrome v69.0.3497.100上运行测试。
当我在笔记本电脑中执行脚本时,它可以正常工作并单击该元素,但是在桌面上,它找到了元素但无法单击。
这是元素的HTML
<div class='col-sm-1'>
<div style="position: relative;margin-top: 19px;left:14px;" class="material-switch">
<input id="checkHiddenDevice" name="checkHiddenDeviceOption" type="checkbox">
<input id="checkHiddenDevice" name="checkHiddenDeviceOption" type="checkbox">
<label for="checkHiddenDevice" class="label-primary">
::before
::after
</label>
</div>
</div>
这是Xpath:
//div[@class='col-sm-1']
我也尝试了一些xpath,例如//label[@for='checkHiddenDevice']
或通过CSS查找元素,但是它不起作用。仅xpath //div[@class='col-sm-1']
在工作,但仅在笔记本电脑中。
然后,我尝试使用KatalonRecorder工具。当我放置Xpath并运行时,测试用例通过了,因为它找到了元素但没有单击?然后,我尝试通过Katalon工具找到Xpath,然后Katalon生成此Xpath:
xpath=(.//*[normalize-space(text()) and normalize-space(.)='#of devices'])[1]/following::label[1]
但是使用此xpath,它也找不到元素(或者我不知道如何在我的代码中将其更改为正确的xpath)
有人遇到这样的问题吗?
答案 0 :(得分:0)
是的。即使我已经遇到了这个问题,当浏览器的缩放比例超过100%时,也可能会出现此问题。只需执行90%的浏览器缩放的相同脚本即可