这是我在 StackOverFlow 上的第一篇文章,作为一个中国人,请忽略我糟糕的英语哈哈。
我正在尝试使用 selenium 执行以下操作: 1.打开url(代码中的url) 2. 点击“实时市场LBMP”菜单下的“区域”链接,该链接有唯一标签“P-24A” 3.获取“最近间隔”文件的时间并打印出来。
高亮元素是我的目标:
我被第二个 xpath 选择器卡住了:
System.setProperty("webdriver.gecko.driver", "C:/Users/Haiqing/Downloads/geckodriver-v0.11.1-win64/geckodriver.exe");
WebDriver wd = new FirefoxDriver();
wd.get("http://mis.nyiso.com/public/");
wd.switchTo().frame("MENU");
WebElement zonalElement = wd.findElement(By.name("P-24Alist"));
zonalElement.click();
wd.switchTo().defaultContent();
wd.switchTo().frame("BODY");
WebElement mostRecentIntervalTime = wd.findElement(By.xpath("//a[contains(text(), 'Most recent interval')]/../following-sibling::td/span"));
System.out.println("Most recent updated time is : " + mostRecentIntervalTime.getText());
wd.quit();
HTML 如下: 最近的间隔 2016 年 12 月 4 日 06:42 美国东部时间
最佳答案
该元素位于 <frame>
内,您需要先切换到它。
driver.switchTo().frame("MENU");
然后切换回来
driver.switchTo().defaultContent();
您可以查看docs更多选项switchTo()
方法。
关于Java Selenium 查找元素(xpath),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958382/