我想用urllib2
和urllib
填充HTML表单。
import urllib
import urllib2
url = 'site.com/registration.php'
values = {'password' : 'password',
'username': 'username'
}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
但在表单的末尾是button(input type='submit')
。如果您没有点击该按钮,则无法发送您在input(type text)
如何点击包含urllib
和urllib2
的按钮?
答案 0 :(得分:1)
如果您查看表单操作属性,您可以找出您的表单提交的内容。然后,您可以向该uri发布帖子请求。 这可以这样做:
import urllib
import urllib2
url = 'http://www.someserver.com/cgi-bin/register.cgi'
values = {'name' : 'Michael Foord',
'location' : 'Northampton',
'language' : 'Python' }
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
https://docs.python.org/2/howto/urllib2.html
您还可以使用请求库,这使得它更容易。你可以阅读它here
您可能需要考虑的另一件事是CSRF(跨站点请求伪造)令牌,它嵌入在表单中。你需要一些如何获得它并将其传递给你的帖子。
答案 1 :(得分:-1)
这更像是你用Selenium或类似的东西。或许selenium.webdriver.common.action_chains.ActionChains.click
。