簡體   English   中英

Python機械化錯誤+

[英]Python Mechanize Error +

我是python的新手(過去曾經做過Java)。 我最近決定自動化一個流程,該流程每年大約需要20個小時。 我需要使用供應商的登錄表單登錄供應商的網站。 然后加載一個新表格,我可以從中選擇訂單,然后加載另一個表格,我可以向該表格提交項目編號。 然后,這會在頁面上加載商品大小和每尺寸價格,我將這些信息放入電子表格中。 該行具有基於大小和價格的列(項目,sm,med,lg,9.99、10.99、12.99)。 返回瀏覽器后,我按下了“后退”按鈕,並將下一個項目編號加載到該字段中,依此類推。 我將以您的方式發送一堆信息,對此感到抱歉。

經過一些研究,我發現了一個名為mechanize的Python庫,該庫似乎使提交Web表單然后收集數據變得容易。

'''
Created on Sep 29, 2012

@author: Teddy
'''

from tkinter import *
import mechanize
import urllib
import logging
import sys
import http.cookiejar

def main():


br = mechanize.Browser()
cj = http.cookiejar.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

br.open('https://*******/cgi-bin/wfos/order.exe')

# Select the login form named "login"
br.select_form(name="login")

# User credentials, this is usrname and passwords to submit to form
br.form['custno'] = '*******'
br.form['Password1'] = '*******'
br.form['Password2'] = '**********'

# Login, submits to the form
br.submit()

main()

當前,當我編譯它時,我得到一個錯誤:

Traceback (most recent call last):
File "C:\EclipseWorkspaces\csse120\FOLDERNAME\src\main.py", line 9, in <module>
import mechanize
File "C:\Python32\lib\site-packages\mechanize\__init__.py", line 119, in <module>
from _version import __version__
ImportError: No module named _version

我查看了\\ site-packages \\ mechanize文件夾,看到一個模塊名稱version.py。 因此,我不確定為什么會收到此錯誤。

我使用的網站會在頁面中重新加載新內容。 有一些按鈕可以選擇要加載的順序。

 <FORM NAME="orders" METHOD="POST" ACTION="https://******/cgi-bin/wfos/order.exe">
 <input type="hidden" name="form" value="continue">
 <input type="hidden" name="cs_id" value="">
 <input type="hidden" name="customer_type" value="1">
 <input type="hidden" name="customer" value="******">
 <input type="hidden" name="custno" value="******">
 <input type="hidden" name="password1" value="******">
 <input type="hidden" name="password2" value="******">

上面的內容是登錄頁面上的帖子。 下面的東西來了

<tr bgcolor=D3D3D3><td align=center><input name=del23558 type=checkbox></td>
<td align=center><input name=continue value=E23558 type=submit></td>
<td align=center><font size=-1>Sep 29 2012  1:19PM</font></td>
<td align=right><font size=-1>$0.00</font></td>
<td align=right><font size=-1>0</font></td></tr>
</table><P>
<input name="action" type="submit" value="Cancel Checked Orders" 
onClick="return confirm('Are you sure you want to cancel the checked orders?')"><P>
<input name="action" type="submit" value="Start a New Order"><P>
</FORM>

要提交訂單,這仍然是嗎?:

 br.select_form(name="orders")
 br.form['continue'] = 'E23558'

非常感謝您提供的任何幫助。

從錯誤消息中,您正在嘗試使用Python 3.2安裝並運行mechanize軟件包。

mechanize但是不支持Python 3,因此您應該安裝Python 2.x發行版(最新版本為2.7.5 ),在其中安裝mechanize軟件包,然后重試運行腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM