java - Internet Explorer 未选择网页上的元素

标签 java selenium internet-explorer selenium-webdriver iedriverserver

我正在运行 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">     

最佳答案

Internet Explorer v11 无法在我的系统上打开 url,但使用 Selenium v​​3.12.0ChromeDriver 2.39 em> 和 Chrome v67.0 以下解决方案点击文本为 Services 的元素就完美了:

  • 代码块:

    System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");
    options.addArguments("disable-infobars");
    options.addArguments("--disable-extensions"); 
    WebDriver driver =  new ChromeDriver(options);
    driver.get("https://www.ups.com/us/en/Home.page");
    driver.findElement(By.linkText("Services")).click();
    
  • 浏览器快照:

Services_clicked

关于java - Internet Explorer 未选择网页上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50721271/

相关文章:

java - 如何使用 Selenium 检查可以从网页打开多少个窗口

javascript - 脚本不适用于 Internet Explorer - 使用 querySelectorAll 进行简单的 dom 抓取并插入数组

internet-explorer - border-radius 在 I.E 8 的选择规则中工作,为什么?

java - com.google.cloud.storage.StorageException : 401 Unauthorized (from local machine)

java - 我不知道该怎么办! (java.lang.NoClassDefFoundError :) [closed]

java - 确保字符串中包含\n 以特定字符串结尾

javascript 使用 Firefox/chrome 进行 WMI 查询?

Java8 : how to call method for a passed type

java - "Can' t access dead object"in geckodriver

javascript - 无法使用 Nightwatchjs 从网页获取值