Webdriver Selenium在不同的计算机上的不同行为

时间:2017-02-06 15:54:12

标签: c# windows selenium webdriver internet-explorer-11

我写了一些代码,用C#中的Webdriver执行重复性任务。 我的代码在我的电脑上工作得很好,但它在我老板的电脑上抓了一个不同的元素。

我正在寻找的元素:

var InventMgmt = driver.FindElement(By.XPath("//*[@id='ROOT/Inventory Management']/div/span"));

此元素来自我公司正在使用的WebApp,并且在整个网络中都是相同的。

问题是Webdriver正在点击我的代码中未列出的完全不同的元素。

两台PC都使用相同的企业操作系统(Windows 10),浏览器版本相同。

在我老板的浏览器中查看我的代码和检查元素之后,我开始相信这个问题只能来自我老板的PC ......可能会导致这类问题?

这是我正在寻找的元素的innerHTML以及实际被点击的元素:

尝试点击“广告资源管理”范围:

<div id="ROOT/Inventory Management" class="x-panel x-panel-noborder x-tree x-panel-collapsed" style="width: auto;">
    <div class="x-panel-header x-panel-header-noborder x-unselectable x-accordion-hd" id="ext-gen186" tabindex="0" role="tab" aria-expanded="false" style="cursor: pointer;">
        <span class="x-panel-header-text" id="ext-gen190">Inventory Management</span>
    </div>
</div>

点击的元素是ID为“ROOT /支持表”的div

<div id="ROOT/Support Table" class="x-panel x-panel-noborder x-tree" style="width: auto;">
    <div class="x-panel-header x-panel-header-noborder x-unselectable x-accordion-hd" id="ext-gen248" tabindex="0" role="tab" aria-expanded="true" style="cursor: pointer;">
        <span class="x-panel-header-text" id="ext-gen252">Support Table</span>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

您可能需要检查浏览器'缩放级别'。您的自动化按预期工作应该是100%。我遇到过类似的情况一次。

如果缩放级别不是100,我建议限制驱动程序启动。

InternetExplorerOptions ieOptions = new InternetExplorerOptions();
ieOptions.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
ieOptions.IgnoreZoomLevel = false;
IWebDriver driver = new InternetExplorerDriver(IEDriverFolder, ieOptions);