如何在 Python 中将 Requests 库与 Selenium 一起使用

Wes*_*est 7 python selenium python-requests

我想使用 Selenium 登录网页,并使用登录的会话使用 Requests 库执行后续请求。到目前为止我的代码如图所示:

from selenium import webdriver
import requests

driver = webdriver.Chrome()
driver.get("https://www.linkedin.com/uas/login?") 
Run Code Online (Sandbox Code Playgroud)

进入登录页面后,我只需输入登录详细信息,然后登录后我希望能够使用请求库从特定页面获取信息。我怎样才能让它发挥作用?

Wes*_*est 23

好吧,刚刚为面临这一挑战的人解决了这个问题。它只是将 cookie 从 selenium 传递到请求会话:

from selenium import webdriver
import requests

driver = webdriver.Chrome()
driver.get("https://www.linkedin.com/uas/login?")

s = requests.Session()
# Set correct user agent
selenium_user_agent = driver.execute_script("return navigator.userAgent;")
s.headers.update({"user-agent": selenium_user_agent})

for cookie in driver.get_cookies():
    s.cookies.set(cookie['name'], cookie['value'], domain=cookie['domain'])

response = s.get("https://linkedin/example_page.com")
Run Code Online (Sandbox Code Playgroud)