无法在对话框上找到动态按钮

时间:2019-04-02 01:48:26

标签: java selenium xpath css-selectors webdriverwait

我尝试在单击搜索后找到动态按钮元素,但找不到它。有时无法单击创建帐户CID,有时可以单击。

<div class="pzbtn-rgt" data-click="...">
<div class="pzbtn-mid" data-click="....">
<img src="https://10.204.137.86:5111/prweb/PRWebLDAP3/SstGGrXNazw%5B*/webwb/zblankimage.gif" alt="" class="pzbtn-i">
Create Individual CID
<img alt="" src="https://10.204.137.86:5111/prweb/PRWebLDAP3/SstGGrXNazw%5B*/webwb/zblankimage.gif" class="pzbtn-i">

创建单个CID是需要单击的一个。 我使用绝对xpath,但仍然失败。我尝试了很多方法。请帮忙。谢谢。

WebDriverWait waitCIDBtn = new WebDriverWait(driver, 10);
waitCIDBtn.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/div[3]/div[4]/div/div/form/div[1]/div/div/div/div/div[1]/table/tbody/tr/td/div[2]/table/tbody/tr/td/div/div/span/div/div[4]/div/div/div/div[4]/div/div/span/button/div/div/div/div")));
WebElement createCID = driver.findElement(By.xpath("/html/body/div[3]/div[4]/div/div/form/div[1]/div/div/div/div/div[1]/table/tbody/tr/td/div[2]/table/tbody/tr/td/div/div/span/div/div[4]/div/div/div/div[4]/div/div/span/button/div/div/div/div"));
createCID.click();

1 个答案:

答案 0 :(得分:0)

当您尝试在元素上调用public interface IMyClass { Task<List<DifferentClass>> GetList(); } 时,无需使用click(),而需要使用 visibilityOfElementLocated() ,并且可以使用以下任一方法Locator Strategies

  • 使用elementToBeClickable()

    cssSelector
  • 使用new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div.pzbtn-mid>img.pzbtn-i[src*='zblankimage']"))).click();

    xpath