не может щелкнуть нужный элемент в другом элементе - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь получить строку по ее имени, а затем щелкаю элемент в этом элементе. Что я делаю:

// searching for a row with the given name of the column content
WebElement row = driver.findElement(By.xpath("//div[contains(text(), 'John Smith']//ancestor::div[@class='row']"));

//clicking button within the row
Webelement button = row.findElement(By.xpath("//button[@class='Click']"))

Это не работает, он всегда нажимает кнопку в первой строке таблицы. PS Сам WebElement row правильно идентифицируется и находит правильную строку. Только когда я хочу найти кнопку в нужной строке. Есть предложения по этому поводу?

Ответы [ 2 ]

0 голосов
/ 06 августа 2020

Чтобы получить доступ к непосредственному дочернему элементу родительского элемента, вам необходимо предоставить .

Webelement button = row.findElement(By.xpath(".//button[@class='Click']"))

Или вы можете использовать это

Webelement button = driver.findElement(By.xpath("//div[//div[contains(text(), 'John Smith']]/button[@class='Click']"))

Оба должны работать.

0 голосов
/ 06 августа 2020

Вы пытаетесь найти кнопку, используя elem , а не row . Возможно, использование row.findElement (By.xpath ("// button [@ class = 'Click']") решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...