我正在使用WebDriver API来测试网页,click()
方法无法在特定网页上运行。
它既没有显示任何异常也没有点击webelement(在我的情况下是一个链接)。我试图使用xpath,id和link找到元素,但点击不起作用。
但是,当我在同一个链接上尝试contextClick
(即右键单击)操作时,它可以正常工作。此外,当我打印文本或web元素的tagName
时,文本或tagName在输出屏幕上完全显示。
我的代码:
WebDriver browser=new InternetExplorerDriver();
browser.get("some website");
WebElement linkkk=browser.findElement(By.xpath("//*[@id='topsort']/li[2]/a"));
linkkk.click();
网页代码:
<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>
我甚至用过:
Actions action=new Actions(browser);<br/>
action.click(linkkk);
action.perform();
但徒劳无功。
答案 0 :(得分:7)
尝试以下选项:
WebElement linkkk=browser.findElement(By.xpath("//*[@id='topsort']/li[2]/a"));
linkkk.click();
//click once again
linkkk.click();
或 - 尝试按以下方式发送ENTER键:
linkkk.sendKeys(Keys.ENTER);
或 - 首先转到该链接&amp;然后单击或发送ENTER键
Actions moveTo = new Actions(driver);
moveTo.moveToElement(linkkk).click().perform();
答案 1 :(得分:1)
尝试使用IJavaScriptExecutor单击按钮。它在我的应用程序上非常成功。
((IJavaScriptExecutor)_webDriver).ExecuteScript("$(arguments[0].click()",webElement);