2012-07-31 108 views
1

我想使用python在网页上填写和提交表单。Python提交表格

这种形式:

<form method="POST" id="login" action="site/enter.php" > 
    <input type="text" placeholder="Login" name="login" class="login" tabindex="1"> 
    <input type="password" placeholder="Password" name="psw" class="password" tabindex="2"> 
    <input type="submit" class="btn_auth" value="" title="Enter" tabindex="3"> 
</form> 

但不能做到这一点。我登录并通过,但不能模拟提交按钮。

+0

什么?你有什么样的网络框架,如果有的话?你有什么麻烦?我们需要更多的信息。 – pcalcao 2012-07-31 14:29:53

+0

请发布非工作代码,否则这个问题太含糊。 – 2012-07-31 14:34:03

+0

这看起来像Selenium Webdriver的工作! – aychedee 2012-07-31 14:34:52

回答

2

使用硒的Webdriver驱动网页比使用机械化更容易。特别是如果页面是动态创建的。

您需要安装硒。 pip install selenium应该可以工作。您还需要安装一个Firefox版本。

from selenium import webdriver 

browser = webdriver.Firefox() 
browser.implicitly_wait(5) 
browser.get('http://some_url.com') 
browser.find_element_by_id('login').send_keys('your_login') 
browser.find_element_by_name('pws').send_keys('your_password') 
browser.find_element_by_class_name('btn_auth').click() 

print browser.page_source 
browser.close() 
+0

。这是一个矫枉过正的问题 – jfs 2012-07-31 18:29:01

+0

它不是不好工作 – 2012-08-01 10:21:24

+0

好吧,因为如此多的网站现在用JS来呈现,我发现最好先去那里。什么部分没有工作Ur Riv? – aychedee 2012-08-01 10:30:37