java - 无法找到元素链接

标签 java html selenium-webdriver

我试图找到“搜索”链接,但收到以下错误: org.openqa.selenium.NoSuchElementException:无法找到元素: {"method":"链接文本","selector":"搜索"}

我使用 Firebug 检查了该对象:

<li onclick="submitSelectedTab('tabSelected', 'TabGroup1', '12');" title="Search">
    <a href="#">
        <span>Search</span>
    </a>
</li>

我尝试使用的代码是

driver.findElement(By.linkText("Search")).click();

我也尝试过: driver.findElement(By.partialLinkText("搜索")).click();

我还尝试运行 IDE,结果显示: //错误:捕获异常 [错误:不支持的命令 [waitForPopUp | _空白| 30000]]

driver.findElement(By.cssSelector("li[title=\"Search\"] > a > span")).click();

上面的代码也不起作用。

我不确定这是否有什么不同,但为了进入该页面,加载了一个新选项卡。

最佳答案

您需要切换到新标签页

// get original tab handle
String currentHandle = driver.getWindowHandle();

// open the new tab here

// switch to the new tab
for (String handle : driver.getWindowHandles()) {
    if (!handle.equals(currentHandle))
    {
        driver.switchTo().window(handle);
    }
}

driver.findElement(By.linkText("Search")).click();

// close the new tab and switch back to the old tab
driver.close();
driver.switchTo().window(currentHandle);

关于java - 无法找到元素链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41568309/

相关文章:

java - Android setTextOn 在 onCheckChanged 方法中不起作用

html - 解决在小屏幕上重叠的视差滚动功能

java - 将 FileResource 转换为字符串

html - 如何相对于 sibling 垂直居中文本并添加 "connector"

javascript - 对 Paypal 的 HTTP 请求

java - 尝试使鼠标光标在 Selenium 测试用例中可见

java - 如何使用 Selenium Webdriver 取消 Firefox 中的下载?

node.js - 出现错误 : chromedriver installation failed error eacces permission denied mkdir

java - 使用 Html 标签和 servlet 自动完成

java - 如何验证所有自己抛出的运行时异常都包含在 Javadoc 中?