Предшествующий родной брат не работает, если есть несколько дочерних тегов - PullRequest
2 голосов
/ 20 марта 2019

Здесь, чтобы установить флажок, XPath записывается так, как показано ниже. // td [text () = 'bbbb vvvvvvvvv'] / предшествующий брат :: td / div / input [@ class = 'hidden']

Но этот вход не фиксируется. util "// td [text () = 'bbbb vvvvvvvvv'] / previous-sibling :: td / div /", элемент расположен. Есть ли какая-либо причина для perticulare? Я хочу знать, почему этот XPath не работает?

enter image description here

1 Ответ

1 голос
/ 20 марта 2019

Попробуйте webdriverwait и любой из следующих вариантов.

Option1:

WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='id' and @type='checkbox']")));
element.click();

Option2:

 WebDriverWait wait = new WebDriverWait(driver, 30);
  WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='id' and @type='checkbox']")));
  Actions action=new Actions(driver);
  action.moveToElement(element).click().build().perform();

Опция3:

WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element1 = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@name='id' and @type='checkbox']")));
JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();",element1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...