2016-01-23 111 views
1

我试图找到一种方法来获得通过无头浏览器执行的post方法的响应。Selenium Post方法

session = requests.Session() 
session.get(<url here) 
print session.cookies 
r = session.post(url).content 
print r 

的问题是,响应R是充满了JavaScript和我不能用Selenium来执行它,因为它不支持POST方法(据我所知)。 任何想法?

+1

硒做的一切,一个浏览器可以做到的。包括POSTS。 如果页面用Javascript很重,那么最好使用Selenium。对于动态生成的页面,请求不会让你感到非常满意。 – MetalloyD

回答

5

您可以尝试使用selenium-requests

扩展硒的webdriver类包括来自请求库中请求功能 ,同时做所有需要的饼干和 请求头处理。

例子:

from seleniumrequests import Firefox 

webdriver = Firefox() 
response = webdriver.request('POST', 'url here', data={"param1": "value1"}) 
print(response) 
+0

它的作品! https://github.com/cryzed/Selenium-Requests –