2016-10-28 6 views
0

Я работаю с selenium (python), и я бы хотел, чтобы он нажал кнопку. Код выглядит примерно так:python - с трудом на селене нажать кнопку

from selenium import webdriver 
driver = webdriver.Firefox() 
driver.get('my_url') 

try: 
    driver.find_element_by_partial_link_text('Mais').click() 
except: 
    pass 

Ничего не происходит. После проверки источника, и я уверен, что это элемент я хочу найти:

<input class="ksb _kvc" value="Mais resultados" id="smb" data-lt="Carregando..." jsaction="str.smr" data-ved="0ahUKEwjPtK6Fwv3PAhVGI5AKHTkSDVsQxdoBCE8" type="button" /> 

ответ

1

Вы пробовали

driver.find_element_by_id('smb').click() 

Вместо того

driver.find_element_by_partial_link_text('Mais').click() 

Я подозреваю, ничего не происходит, потому что исключение вводится в исходный код, если поиск не выполняется. При попытке найти элементы я обычно использовал id/name, поскольку они обычно уникальны. Полный список см. В selenium-python.readthedocs.io/locating-elements.html

+0

прекрасный !!! большое спасибо. будет увеличиваться через 7 минут, как только он будет включен. –

+0

cool, при попытке найти элементы я обычно использовал id/name, поскольку они обычно уникальны. Полный список см. Http://selenium-python.readthedocs.io/locating-elements.html – TheoretiCAL

+0

Еще раз спасибо! совершенно новый для селена, и я мало знаю о js в целом. отличный совет. –

1

У вас проблема с нажатием кнопки, потому что вы используете driver.find_element_by_partial_link_text(), что полезно только для поиска ссылки (элементов привязки) посредством ее частичного текста и выполнения действий на нем.

Вы должны полагаться на другие методы find_element_by_xxxx(), которые позволяют нам найти идентификатор элемента, имя, XPath, селектор CSS или имя класса.

См. Документацию по установочным элементам по адресу: http://selenium-python.readthedocs.io/locating-elements.html

+0

большое спасибо Mukesh –

Смежные вопросы