#selenium #selenium-webdriver #xpath
#selenium #selenium-webdriver #xpath
Вопрос:
Я пытаюсь автоматизировать веб-таблицу на сайте demoqa https://demoqa.com/webtables где я собираюсь нажать кнопку редактирования и удаления для конкретного пользователя. Пожалуйста, найдите прилагаемый скриншот для справки.
Я пытаюсь нажать кнопку редактирования и удаления для пользователя ‘Cierra’, поэтому я создал настраиваемый XPath ‘// div[содержит (текст (),’cierra@example.com ‘)]//следующий::div[text()=’Insurance’]//следующий::div//div//span[@title=’Edit’]’
Попытка нажать кнопку редактирования и удаления с помощью содержит текст с электронной почтой ‘cierra@example.com «однако я вижу четыре результата, даже если я использую уникальное имя пользователя. Может ли кто-нибудь помочь мне с этим?
Ответ №1:
(//div[contains(text(),'cierra@example.com')]//following::div[text()='Insurance']//following::div//div//span[@title='Edit'])[1]
вы можете заключить результат в скобки и вызвать [1] , чтобы получить первый:
Но вам не нужно усложнять это, просто получите электронное письмо, затем вернитесь к родительскому и получите span под этим родительским ,:
//div[contains(text(),'cierra@example.com')]/..//span[@title="Edit"]
если вы все еще хотите использовать необычный локатор xpath, используйте :
//div[contains(text(),'cierra@example.com')]/following-sibling::div[contains(text(),'Insurance')]/following-sibling::div//span[@title='Edit']