首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome驱动程序无法在开启无头模式时检测gmail上的电子邮件字段

Chrome驱动程序无法在开启无头模式时检测gmail上的电子邮件字段
EN

Stack Overflow用户
提问于 2020-05-08 17:51:01
回答 2查看 421关注 0票数 1

我正在尝试使用selenium webdriver登录gmail。

以下代码在没有headless选项的情况下工作,我可以成功登录:

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

options = webdriver.ChromeOptions()
options.add_argument(" — incognito")
loadtime = 4.0

try:
    browser = webdriver.Chrome(chrome_options=options)
except:
    browser = webdriver.Chrome('./chromedriver', chrome_options=options)

gmail_link = 'https://accounts.google.com/signin'

browser.get(gmail_link)

email = WebDriverWait(browser, loadtime).until(EC.visibility_of_element_located((By.ID, "identifierId")))
email.send_keys('my_email')
nextButton = WebDriverWait(browser, loadtime).until(lambda x: x.find_element_by_id('identifierNext'))
nextButton.click()

password = WebDriverWait(browser, loadtime).until(
    EC.element_to_be_clickable((By.XPATH, "//input[@name='password']"))
)
password.send_keys('my_password')
browser.find_element_by_id("passwordNext").click()

但是如果我添加以下选项,它就无法找到电子邮件元素并抛出超时。

代码语言:javascript
复制
options.add_argument('--headless')

在您将此问题标记为重复之前(我知道还有许多其他类似的问题,但这些问题都对我没有帮助):

我想提一下,这适用于其他网站,例如,我可以去facebook和登录与headless选项。但由于某种原因,电子邮件字段对于带有headless选项的gmail是不可见的。

因此,这个问题看起来像是gmail特有的。

这是gmail上的电子邮件字段在被检查时的样子:

对如何克服这个问题有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2020-05-08 20:55:55

我建议你在无头模式下运行测试时获取页面源代码。这是可能的,在无头结构可以是不同的。此外,请尝试使用不同的定位器,例如//input@ type ='email‘-首先确保没有其他类型为'email’的输入。

票数 1
EN

Stack Overflow用户

发布于 2020-08-30 19:27:01

这是因为在无头模式下,chrome会选择最旧的gmail版本或不支持JS的gmail版本。如果你转到站点设置并禁用gmail的javascript,那么你会在重新访问时得到另一个版本的gmail。所以在无头模式下运行时,所使用chrome具有旧版本的xpath。如果您想在gmail中运行selenium,可以使用mozilla,它工作得很好,或者在chrome headless中运行时为浏览器提供用户代理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61676406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档