как щелкнуть элемент, когда идентификатор, имя класса не является уникальным, используя python селен - PullRequest
0 голосов
/ 08 апреля 2020

Я хочу щелкнуть эту ссылку на ежедневные задачи, но здесь идентификатор и имя класса не уникальны, мой элемент DOM:

enter image description here

Я пытался:

#My Restaurant Configuration MENU
  driver.find_element_by_xpath("//a[@class='x-btn name-container x-unselectable x-box-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon']//span[contains(text()='My Restaurant Configuration']").click()
  print("second sub link")

получая следующую ошибку:

повысить поле_исключения (сообщение, экран, stacktrace) selenium.common.exceptions.InvalidSelectorException: Сообщение: неверный селектор: невозможно найти элемент с выражением xpath // a [@ class = 'x-btn name-container x-unselectable x-box-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon'] // span [содержит (text () = 'Конфигурация моего ресторана'] из-за следующей ошибки: SyntaxError: Не удалось выполнить «оценку» для «документа»: строка «// a [@ class =» x-btn name-container x-unselectable x-box-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon '] // span [содержит (text () =' ежедневные задачи ']' не является допустимым выражением XPath. (Информация о сеансе: chrome = 80.0.3987.163)

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Попробуйте это:

  driver.find_element_by_xpath("//a[@class='x-btn name-container x-unselectable x-box-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon']//span[contains(text(), 'Daily Tasks')]").click()
0 голосов
/ 08 апреля 2020
driver.find_element_by_xpath("//span[contains(text(), 'Daily Tasks')]"

попробуйте также эту опцию

driver.find_element_by_id("button-1184-btnInnerEl")

также попробуйте установить расширение для chrome или оперы под названием cropath, это очень полезно, когда вы все еще изучаете

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