使用Python / Mechanize

时间:2015-05-29 14:38:17

标签: python google-chrome mechanize

我正在尝试为一款名为travian的在线游戏编写自动化工具。 我想使用python浏览器对象(使用机械库创建)登录。一旦我登录,我想打开一个真正的webbrowser(即chrome)。

#here I create a mechanize browser object

b = mechanize.Browser()

#usually to login to the game you go to this 
# site and put in your login and password and press submit

server = 'http://ts4.travian.com/?lang=en'

#I am trying here to use a browser object to submit the form, 
#maybe there is a mistake here 

b.open(server)
b.select_form("login")
b.form["name"] = 'myAccount'
b.form["password"] = 'myPassword'
b.submit()

#once mechanise has submitted the form I want to 
#open the page in chrome that would  usually be 
#opened if I were to submit it by hand

gamePage = ("http://ts4.travian.com/dorf1.php")
webbrowser.open_new_tab(gamePage)

当我运行此代码时,它会打开登录页面,也就是说,登录游戏的代码似乎没有用。

2 个答案:

答案 0 :(得分:0)

你试过了吗?

b.addheaders = [('User-agent', Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3)]
在打开任何网址之前

这将模拟Linux设备上的Chrome。

答案 1 :(得分:0)

这是我的一个老问题。做我想要实现的最简单的方法是使用一个名为Selenium的类。

http://selenium-python.readthedocs.io/installation.html