Как найти webelement, используя свойство style в python selenium - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу дать Нажмите кнопку на основе стиля и имени класса, потому что в моем случае нет уникального имени класса и идентификатора.

Мой html код

<a class="x-btn x-unselectable rp-important-btn rp-btn-shadow x-box-item x-toolbar-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon" 
style="height: 24px; right: auto; top: 5px; margin: 0px; left: 118px;" hidefocus="on" unselectable="on" tabindex="0">

И я пытался

 save_class=driver.find_element_by_xpath("//a[@class='x-btn x-unselectable rp-important-btn rp-btn-shadow x-box-item x-toolbar-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon' 
 and style='height: 24px; right: auto; top: 5px; margin: 0px; left: 118px;']")

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

selenium.common.exceptions.NoSuchElementException: Сообщение: нет такого элемента: Невозможно найти элемент: {" method ":" xpath "," selector ":" // a [@ class = 'x-btn x-невыбираемый rp-важный-btn rp-btn-shadow x-box-item x-toolbar-item x-btn- default-small x-noicon x-btn-noicon x-btn-default-small-noicon 'и style =' height: 24px; справа: auto; верх: 5px; поле: 0px; слева: 118px; '] "}

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Вы забыли @style в своем xpath

save_class=driver.find_element_by_xpath("//a[@class='x-btn x-unselectable rp-important-btn rp-btn-shadow x-box-item x-toolbar-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon' and @style='height: 24px; right: auto; top: 5px; margin: 0px; left: 118px;']")

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

0 голосов
/ 25 февраля 2020

Привет, чтобы выбрать с двумя атрибутами совпадения и нажмите кнопку использования:

driver.find_element_by_xpath('//a[@class="x-btn x-unselectable rp-important-btn rp-btn-shadow x-box-item x-toolbar-item x-btn-default-small x-noicon x-btn-noicon x-btn-default-small-noicon" and @style="height: 24px; right: auto; top: 5px; margin: 0px; left: 118px;"').click()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...