Webdriver的click()方法无法在网站上运行

viv*_*nar 2 webdriver

我正在使用WebDriver API来测试网页,并且该click()方法无法在特定网页上运行.

它既没有显示任何异常也没有点击webelement(在我的情况下是一个链接).我试图使用xpath,id和link找到元素,但点击不起作用.

但是,当我contextClick在同一个链接上尝试(即右键单击)操作时,它工作正常.此外,当我打印文本或tagNameweb元素时,text或tagName在输出屏幕上完全显示.

我的代码:

WebDriver browser=new InternetExplorerDriver();
browser.get("some website");
WebElement linkkk=browser.findElement(By.xpath("//*[@id='topsort']/li[2]/a"));
linkkk.click();
Run Code Online (Sandbox Code Playgroud)

网页代码:

<div class="content">
  <div class="blind" style="display: none;"></div>
    <ul id="topsort">
      <li>something</li>
      <li><a class="category_nav_remote_link selected" href="some website">some text</a></li>
    </ul>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我甚至用过:

Actions action=new Actions(browser);<br/>
action.click(linkkk);
action.perform();
Run Code Online (Sandbox Code Playgroud)

但徒劳无功.

Sur*_*rya 7

请尝试以下选项:

WebElement linkkk=browser.findElement(By.xpath("//*[@id='topsort']/li[2]/a"));
linkkk.click();
//click once again
linkkk.click();
Run Code Online (Sandbox Code Playgroud)

或者 - 尝试按以下方式发送ENTER键:

linkkk.sendKeys(Keys.ENTER);
Run Code Online (Sandbox Code Playgroud)

或 - 首先移动到该链接,然后单击或发送ENTER键

Actions moveTo = new Actions(driver);
moveTo.moveToElement(linkkk).click().perform();
Run Code Online (Sandbox Code Playgroud)