Невозможно найти динамическую кнопку в диалоговом окне - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь найти элемент динамической кнопки после поиска по клику, но он не может найти его. 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 голосов
/ 02 апреля 2019

Когда вы пытаетесь вызвать click() на элементе, вместо использования visibilityOfElementLocated() вам нужно использовать elementToBeClickable(), и вы можете использовать любую из следующих Стратегий локатора :

  • Использование cssSelector:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div.pzbtn-mid>img.pzbtn-i[src*='zblankimage']"))).click();
    
  • Использование xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='pzbtn-mid']/img[@class='pzbtn-i' and contains(@src, 'zblankimage')]"))).click();
    
...