Итак, я начал с Mechanize, и, очевидно, первое, что я пробую это сделать, - это сайт с высокой степенью навигации JavaScript уровня обезьяны-носорога.
Теперь я застрял на отправке формы.
Обычно я отправлял бы с помощью встроенной функции submit () Mechanize.
import mechanize
browser = mechanize.Browser()
browser.select_form(name = 'foo')
browser.form['bar'] = 'baz'
browser.submit()
Таким образом, он использовал бы кнопку отправки, которая доступны в форме HTML.
Однако сайт, на котором я застрял, должен был быть сайтом, на котором не использовались кнопки отправки HTML ... Нет, они пытаются стать гуру JavaScript и отправляют через JavaScript .
Обычный submit (), похоже, с этим не работает.
Итак ... Есть ли способ обойти это?
Любая помощь приветствуется. Большое спасибо!
- [Edit] -
Функция JavaScript, на которой я застрял:
function foo(bar, baz) {
var qux = document.forms["qux"];
qux.bar.value = bar.split("$").join(":");
qux.baz.value = baz;
qux.submit();
}
Что я сделал в Python (и что не работает):
def foo(browser, bar, baz):
qux = browser.select_form("qux")
browser.form[bar] = ":".join(bar.split("$"))
browser.form[baz] = baz
browser.submit()