【发布时间】:2020-11-30 17:37:23
【问题描述】:
有没有办法以无头模式登录 gmail 帐户? send_keys 在正常模式下工作,但在我使用无头模式时不起作用。
这是我的代码:
chrome_options = Options()
chrome_options.add_argument("--window-size=1920,1080")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--proxy-server='direct://'")
chrome_options.add_argument("--proxy-bypass-list=*")
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome('./chromedriver', options=chrome_options)
driver.get("https://www.google.com/")
driver.find_element_by_xpath('//A[@id="gb_70"]').click()
time.sleep(5)
driver.get_screenshot_as_file('main-page.png')
x = True
while True:
try:
print('trying to paste email')
driver.find_element_by_xpath('//INPUT[@id="identifierId"]').send_keys(keys['emailUser'])
print('email entered')
break
except ElementNotInteractableException:
pass
except StaleElementReferenceException:
pass
except NoSuchElementException:
pass
我的终端从不打印“已输入电子邮件”
【问题讨论】:
-
输入字段的 xPath 怎么样。这是正确的吗 ?如果 xpath 正确,您可以简单地使用输入文本。 driver.find_element_by_xpath('//input[@id="identifierId"]').send_keys(emailUser')
标签: python selenium google-chrome webdriver headless