我需要单击“管理”选项卡。 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/