В настоящее время я тестирую веб-сайт с Selenium / Webdriver, который отображает имена и адреса людей в нескольких полях.Например, каждое поле содержит поле «Имя».Все эти поля имеют сгенерированные идентификаторы, поэтому я не могу их использовать.
Мой подход - сначала найти поле, а затем элемент, который я ищу.Я использую выражения xPath, как это, немного сложнее, но для вопроса проще так:
WebElement box3 = driver.findElement(By.xpath("//div[contains(@boxnum,'3')]");
WebElement firstName = box3.findElement(By.xpath(".//div[contains(@field,'firstname')]/input");
То, что существуют абсолютные и относительные выражения xPath, мне тоже известно, но, видимо, я не оченьпонял это еще.Если я опущу начальную точку для поиска элемента fistName в xPath, будет найдено поле имени из первого поля.Однако я предположил, что мне это не понадобится, так как я начал поиск с «box3».К сожалению, я не нашел документ, который объясняет мне это таким образом, что я понимаю это.Я надеюсь, что здесь есть кто-то, кто может это объяснить.