Как установить этот флажок в таблице без идентификатора - PullRequest
0 голосов
/ 09 января 2019

Я пишу код Selenium с Python для автоматизации определенных задач на моем сайте. Однако я не могу установить этот флажок. Есть какие-нибудь рекомендации? Это строка кода для флажка, который я пытаюсь проверить:

<input type="checkbox" class="" name="delete0">

Я пробовал 2 разных способа, и оба не работают.

1. driver.find_element_by_class_name("delete0").click()
2. driver.find_element_by_xpath("//input[@type='checkbox'").click()

Я должен установить флажок, однако ничего не произошло, и вместо этого у меня появляется сообщение об ошибке:

selenium.common.exceptions.InvalidSelectorException: Сообщение: неверный селектор: невозможно найти элемент с выражением xpath // input [@ type = 'checkbox' из-за следующей ошибки: SyntaxError: Не удалось выполнить 'define' для 'Document': строка '// input [@ type =' checkbox '' не является допустимым выражением XPath.

1 Ответ

0 голосов
/ 09 января 2019

Согласно предоставленному вами HTML,

  • Первая пробная версия кода не удалась:

    driver.find_element_by_class_name("delete0").click()
    
    • Причина: атрибут class_name не delete0, а пробел
  • Не удалось выполнить второй пробный код:

    driver.find_element_by_xpath("//input[@type='checkbox'").click()
    
    • Причина: у локатора синтаксическая ошибка , так как вы пропустили ]

Решение

Вы можете использовать любое из следующих решений:

  • css_selector:

    driver.find_element_by_css_selector("input[type='checkbox'][name='delete0']").click()
    
  • xpath

    driver.find_element_by_xpath("//input[@type='checkbox' and @name='delete0']").click()
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...