我构建了一个程序,该程序具有与某些google服务交互的不同功能,但首先必须登录到指定的google帐户。当chrome有头时,它可以正常工作,但是当我尝试使其无头时,它找不到第一个元素的xpath,即电子邮件字段。我的代码如下。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(executable_path=r"C:\\path\\to\\chromedriver.exe", options=options)
然后尝试使用指定的凭据登录。
driver.get('https://accounts.google.com/signin/v2')
driver.find_element_by_xpath('//*[contains(@name,"identifier")]').send_keys('mail')
driver.find_element_by_xpath('//*[@id="identifierNext"]/content/span').click()
driver.find_element_by_xpath('//*[contains(@name,"password")]').send_keys('password')
driver.find_element_by_xpath('//*[@id="passwordNext"]/content/span').click()
尽管在没有
的情况下也可以正常工作 options.add_argument("--headless")
它不起作用,我也不知道为什么。我将不胜感激。 chrome和chromedriver均已更新为最新版本。