我写了一些代码,用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>
答案 0 :(得分:1)
您可能需要检查浏览器'缩放级别'。您的自动化按预期工作应该是100%。我遇到过类似的情况一次。
如果缩放级别不是100,我建议限制驱动程序启动。
InternetExplorerOptions ieOptions = new InternetExplorerOptions();
ieOptions.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
ieOptions.IgnoreZoomLevel = false;
IWebDriver driver = new InternetExplorerDriver(IEDriverFolder, ieOptions);