Итак, я начал с Mechanize, и, по-видимому, первое, что я попробую, - это сайт с высоким уровнем JavaScript, ориентированным на обезьяну-носорога.
Теперь я застрял на отправке формы.
Обычно я делаю отправку, используя встроенную функцию Mechanize submit ().
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()