2013-06-25 107 views
0
search_1=raw_input('search criteria 1? ') 
search_2=raw_input('search criteria 2? ') 

br = mechanize.Browser() 
br.open('website') 
br.select_form(nr=0) 
br['-c']=search_1 
br['-c.rs']=search_2 
br.set_handle_robots(False) 
response=br.submit() 
print response.read() 

我在一頁上運行這個機械化腳本,然後網站會自動導向另一個頁面,其中我需要運行另一個機械化腳本。我的問題是我不知道如何鏈接它們。你如何做得很好?謝謝。多頁機械化

+0

你是什麼環節他們是什麼意思? – PepperoniPizza

+0

我的意思是當我填寫適當的表格,然後我br.submit()我會帶着一個新的URL帶到一個新的頁面。我希望能夠將下一個網址放入我的下一行代碼中,以進行更多的表單填充。這有意義嗎? – Matt

回答

1

沒有辦法提交併保留在填寫完所有表單的同一頁面上。

相反,爲什麼不創建機械化瀏覽器的第二個實例,並同時工作?例如:

from mechanize import Browser 

br0 = Browser() 
br1 = Browser() 

br0.open('http://www.example.com/') 
br1.open('http://www.example.com/') 

或者另一種選擇是使用back()之後,但你仍然需要重新填寫表單。例如:

from mechanize import Browser 

br = Browser() 

r = br.open('http://www.example.com/') 
r = br.open('http://www.google.com/') 
r = br.back() 

print r.read() 
+0

我想我被誤解了,可能是由於我的溝通技巧。我的意思是說,當我填寫表格並點擊提交時,我想機械化開始在提交後的頁面上工作。 – Matt

+1

你已經有了代碼。提交表單後,'br'成爲下一頁加載的頁面。因此,只要繼續使用'br'變量的下一頁,就像您使用示例中的那個一樣。 (如果這回答你的問題,只接受答案或關閉問題) – ton1c

+0

謝謝。我認爲這是應該如何完成的,但我想先與那些比我有更多經驗的人進行覈對。再次謝謝你。 – Matt