java - 无法点击div标签元素

标签 java selenium selenium-webdriver

我需要单击“管理”选项卡。 html代码如下

<div id="TransactionLinksTabContainer">
      <ul class="TransactionLinksTab listitem-cursor-pointer" id="ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList">
         <li><div>Transactions</div></li>
         <li><div>Restricted</div></li>
         <li><div>Quotes</div></li>
         <li><div>Admin</div></li>
     </ul>
</div>

我尝试了这个解决方案,但没有成功

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*   [@id='TransactionLinksTabContainer']/ul/li[4]/div[text()='Admin']")));
element.click();

最佳答案

尝试使用java脚本执行器方法来单击元素。

WebElement admin = driver.findElement(By.xpath("//ul[@id='ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList']/li/div[contains(text(), 'Admin')]"));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", admin);

OR
Use explicit wait method and then try to click on element.

WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//ul[@id='ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList']/li/div[contains(text(), 'Admin')]"))));
driver.findElement(By.xpath("//ul[@id='ctl00_PostIssueContent_PostIssueTrxLinks_TransactionTabsList']/li/div[contains(text(), 'Admin')]")).click();

关于java - 无法点击div标签元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42683064/

相关文章:

java - Google map V2 中不显示多个标记

java - 将 java.util.Date 转换为带有 PostgreSQL 时区的时间戳

java - 在 xpath 中指定多个条件

selenium - 如何针对本地运行的 Selenium 服务器运行单独的测试用例?

python - 如何使用 python 从我的控制台捕获所有内容并通过电子邮件发送?

java - 实现堆栈时 ArrayList 与 ArrayDeque 的性能对比

python - 如何使用 xpath 或 bs4 从 2 个不同的模板获取价格?(python,网络抓取)

javascript - 在 selenium javascript 执行器中使用 javascript

javascript - Selenium WebDriver 无法将文本发送到 InputBox

java - Jersey 的依赖注入(inject)