2009-11-27 145 views
12

我有一個<input type="button" name="submit" />按鈕的形式,並希望能夠點擊它。機械化python點擊一個按鈕

我已經試過mech.form.click("submit")但提供了以下錯誤:

ControlNotFoundError: no control matching kind 'clickable', id 'submit'

mech.submit()也不起作用,因爲它的類型是按鈕,而不是提交。

任何想法?謝謝。

回答

21

單擊一個type="button"純html窗體什麼都不做。對於它做任何事情,都必須有javascript參與。

mechanize不運行javascript

那麼你的選擇是:

  • 自己閱讀的JavaScript,並與mechanize模擬它會做
  • 使用spidermonkey運行JavaScript代碼

我做的第一一個,因爲使用spidermonkey似乎很難,可能不值得。

+1

這是很久以前的,但你是什麼意思的「刺激與機械化」? – 2016-01-13 13:30:42

+0

@nosklo是..同樣問題在這裏....你如何模擬JavaScript與機械? – waas1919 2016-04-29 16:19:39

+1

@ waas1919你必須閱讀javascript代碼並理解它的作用。例如,如果JavaScript代碼將表單提交到不同的地址,那麼您可以編寫Python代碼來手動執行此操作。如果javascript代碼改變了一些字段的值,那麼你必須在你的python代碼中手工修改。 – nosklo 2016-05-06 20:10:24