Selenium WebDriver,可以在笔记本电脑上正常工作,但不能在台式机上工作。

时间:2018-10-05 10:41:09

标签: selenium selenium-webdriver xpath c#-4.0 katalon-recorder

我正在使用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)

有人遇到这样的问题吗?

1 个答案:

答案 0 :(得分:0)

是的。即使我已经遇到了这个问题,当浏览器的缩放比例超过100%时,也可能会出现此问题。只需执行90%的浏览器缩放的相同脚本即可