2016-02-02 2 views
1

У меня есть кнопка HTML:как нажать тип = «кнопка» с помощью питона механизировать

<button align="center" id="btnApply" width = "100" type="button" value="Apply" style="width:100px" onClick='Submit(1,getElement("btnApply"));'> 

Я попытался нажать на эту кнопку с этим кодом

br.submit(label='Apply',id='btnApply') 

, но я получил эту ошибку:

no control matching kind 'clickable', id 'btnApply', label 'Apply' 

ответ

1

Поскольку эта кнопка имеет приложенное JavaScript-событие, mechanize не может вам помочь. В основном это парсер HTML с дополнительной поддержкой ссылок и заполнения форм. Но он не может интерпретировать JavaScript и вообще не делает запустил что-нибудь на этом веб-сайте.

Если вы ищете что-то, что может полностью эмулировать поведение браузера на веб-сайте с поддержкой JavaScript, вы должны заглянуть в безголовый браузер. Это в основном браузер без «визуальной» части. Например, вы можете использовать PhantomJS и запускать свои тесты, используя Selenium.

В противном случае, если вы не изучаете тестирование, но просто хотите, чтобы один запрос прошел, вы должны тщательно изучить этот сайт и выяснить, что делает код Submit(1,getElement("btnApply")). Затем эмулируйте это и отправляйте запрос непосредственно на сервер - вам даже не нужно mechanize, но, скорее всего, просто выполните обычные HTTP-запросы (например, используя urllib в стандартной библиотеке или requests).

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