相关疑难解决方法(0)

Selenium webdriver无法单击页面外的链接

我遇到了Selenium WebDriver的问题.我尝试点击窗口页面外的链接(你需要向上滚动才能看到它).我目前的代码是相当标准的:

menuItem = driver.findElement(By.id("MTP"));
menuItem.click();
// I also tried menuItem.sendKeys(Keys.RETURN);
Run Code Online (Sandbox Code Playgroud)

我知道我可以向上滚动,在这种情况下它会起作用.但是如果你有很长的项目列表,你不一定知道你需要向下滚动多远.

有没有办法点击不在页面可见部分的链接(但滚动时会显示)?

作为旁注,我正在使用Firefox,但我打算也使用IE7/8/9和Chrome.

任何帮助将不胜感激.

编辑:我担心我不能提供源代码,因为我工作的公司不允许它,但我可以给出我想点击的链接的代码:

<div class="submenu">
  <div id="MTP">Link title</div>
</div>
Run Code Online (Sandbox Code Playgroud)

链接可见时,完全相同的代码有效,只有当链接不可用时才能使用.

编辑2:实际上,奇怪的是,它不会引发任何异常,只是转到下一条指令.所以基本上,会发生什么:

menuItem = driver.findElement(By.id("MTP")); // no exception
menuItem.click();  // no exception
//... some code ensuring we got to the next page: timeout reached
driver.findElement(By.id("smLH")).click(); // NoSuchElementException, as we're on the wrong page.
Run Code Online (Sandbox Code Playgroud)

java selenium scroll webdriver click

24
推荐指数
5
解决办法
3万
查看次数

标签 统计

click ×1

java ×1

scroll ×1

selenium ×1

webdriver ×1