Я написал сценарий входа в Gmail, используя selenium- python. Когда я запускаю сценарий в режиме firefox без заголовка, он работает нормально, без каких-либо проблем. Но когда я запускаю тот же скрипт в режиме chrome без головы, скрипт терпит неудачу. Затем я добавил скриншоты в свой код для отладки.
При работе в firefox безголовом режиме отображается новый интерфейс входа в Gmail
While running in chrome headless mode, the old Gmail Signin UI is displayed chrome без головы В режиме chrome headless selenium не может найти следующую кнопку с xpath «// div [@ id = 'identifierNext']», поскольку этот xpath соответствует следующей кнопке нового пользовательского интерфейса.
Однако, когда я запускаю chrome в режиме без головы, отображается новый пользовательский интерфейс входа в Gmail, и скрипты работают нормально.
Я не понимаю, почему старый пользовательский интерфейс входа в Gmail отображается в режиме chrome без головы. Ниже приведен код (firefox код прокомментирован, так как у меня проблемы только с chrome)
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(options=chrome_options, executable_path="C:\\chromedriver.exe")
# from selenium.webdriver.firefox.options import Options
# firefox_options = Options()
# firefox_options.headless = True
# driver = webdriver.Firefox(options=firefox_options,executable_path='C:\\geckodriver.exe')
driver.get("https://www.google.com")
print(driver.title)
driver.find_element_by_xpath("//a[text()='Sign in']").click()
driver.get_screenshot_as_file("screenshot1.png")
driver.find_element_by_xpath("//input[@type='email']").send_keys("abcd")
driver.get_screenshot_as_file("screenshot2.png")
self.wait.until(expected_conditions.visibility_of_element_located((By.XPATH, "//div[@id='identifierNext']"))).click()
Если у кого-то есть объяснение, пожалуйста, дайте мне знать.
Спасибо.