繁体   English   中英

(Python) 如何同时使用 selenium 和 requests 打印出一个微软页面

[英](Python) How to use both selenium and requests to print out a microsoft page

所以基本上我试图在这个页面上登录微软: https : //login.live.com/

在此处输入图片说明

使用 selenium,因为 requests 是针对更基本的身份验证页面。 这是我的硒代码

email = 'password'
password = 'password'

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium import webdriver
from selenium.webdriver.common.by import By


EMAILFIELD = (By.ID, "i0116")
PASSWORDFIELD = (By.ID, "i0118")
NEXTBUTTON = (By.ID, "idSIButton9")

browser = webdriver.Chrome()
browser.get('https://login.live.com')

WebDriverWait(browser, 10).until(EC.element_to_be_clickable(EMAILFIELD)).send_keys(email)

WebDriverWait(browser, 10).until(EC.element_to_be_clickable(NEXTBUTTON)).click()

WebDriverWait(browser, 10).until(EC.element_to_be_clickable(PASSWORDFIELD)).send_keys(password)

WebDriverWait(browser, 10).until(EC.element_to_be_clickable(NEXTBUTTON)).click()

WebDriverWait(browser, 10).until(EC.element_to_be_clickable(NEXTBUTTON)).click()

然后我想在我验证后使用请求来打印页面。 这是我的请求代码:

from bs4 import BeautifulSoup
import requests
    
req = requests.get("https://account.microsoft.com/?lang=en-US&refd=account.live.com&refp=landing&mkt=EN-US")

soup = BeautifulSoup(req.text, 'html.parser')
print(soup.title)
print(req)

预期结果是此页面的 html 标题: https : //account.microsoft.com/?lang=en-US&refd=account.live.com&refp=landing&mkt=EN-US (Microsoft 帐户 | 主页)

<title>Microsoft account | Home</title>
<Response [200]>

在此处输入图片说明

但相反,我得到的输出是

<title>Microsoft account | Sign In or Create Your Account Today – Microsoft</title>
<Response [200]>

这是此页面: https : //account.microsoft.com/account (Microsoft 帐户 | 立即登录或创建您的帐户 – Microsoft)

在此处输入图片说明

请帮助我,并在此先感谢您!

这是因为你是通过 selenium 登录并通过 bs抓取的,它们是相互独立的,所以无论何时你这样做

"https://account.microsoft.com/"

通过请求,您需要通过 API 登录(如果有),或者简单地说,它们都是不同的会话

JYFI,如果你这样做

browser.get("https://account.microsoft.com/")

然后打印标题,它会起作用,但它不适用于当前的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM