Все примеры findElement (By.xpath), которые я видел, просматривали всю страницу, например,
WebElement td = driver.findElement(By.xpath("//td[3]"));
Чего я хочу добиться, это:
WebElement tr = ... // find a particular table row (no problem here)
WebElement td = tr.findElement(By.xpath("/td[3]")); // Doesn't work!
Я также безуспешно пробовал другие варианты: "td [3]", "child :: td [3]"
Использование "// td [3]" находит первый соответствующий узел на всей странице, то есть не ограничивается моим tr. Таким образом, похоже, что когда вы находите Element от xpath, WebElement, для которого вы вызываете findElement (), ничего не значит.
Можно ли использовать findElement (By.xpath) для определенного WebElement?
(я использую Chrome, на случай, если это имеет значение.)
ОБРАТИТЕ ВНИМАНИЕ: By.xpath ("// td [3]") является лишь примером. Я не ищу альтернативных способов достижения того же самого. Вопрос только в том, чтобы выяснить, принимает ли foo.findElement () какое-либо уведомление о foo при использовании с селектором By.xpath.