Отправить без использования кнопки отправки, Mechanize

Итак, я начал с 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()
10
задан Aeveus 17 February 2011 в 23:24
поделиться