我正在运行 Selenium 来测试我公司网页的特定区域。我正在尝试做的事情在理论上似乎相对容易,但我遇到了几个障碍。有人可以告诉我为什么 URL 正在打开但不会选择“服务”超链接吗?
以下是代码片段:
System.setProperty("webdriver.ie.driver","Path to IE/IEDriverServer_64.exe");
WebDriver driver = new InternetExplorerDriver();
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
driver.get("https://www.ups.com/us/en/Home.page");
driver.manage().window().maximize();
driver.findElement(By.xpath(".//*/div[@id='ups-header']/nav[@id='ups-navItems']/ul[@class='ups-navItems_primary']/li[@class='ups-navMenu ups-menu'][3]/a[@id='ups-menuLinks2']")).click();
正如我之前所说,理论上这应该打开 UPS 的主页并选择页面右上角的“服务”选项卡。相反,它只是转到 UPS.com 主页并停留在那里。
我有 driver.findElement(By.xpath........); 在此示例中,但我尝试了 findElement(By.name & partialLinkText
除了更新到最新版本之外,谁能给我一个解决方案?
元数据: Windows 10、JAVA 10、Internet Explorer(不幸的是)11.4。
提前致谢!
使用附加的 HTML 结构进行编辑:
这是我正在使用的 HTML 的一部分。此 HTML 属于我想在自动化中单击的服务链接:
<a role="button" href="#" class="ups-analytics ups-menu_toggle" data-
content-block-id="M1" data-event-id="22" aria-expanded="false" id="ups-
menuLinks2" aria-controls="ups-menuPanel2">Services<span class="ups-mobnav-
arrow" aria-hidden="true"></span></a><div class="ups-menu_list ups-cols-3"
aria-hidden="true" role="region" id="ups-menuPanel2" aria-labelledby="ups-
menuLinks2">
<h2 class="ups-med_show">Services</h2>
<div class="ups-menu_listCols">