Почему Chrome загружает старую страницу входа в Gmail в автономном режиме - PullRequest
0 голосов
/ 01 августа 2020

Я написал сценарий входа в Gmail, используя selenium- python. Когда я запускаю сценарий в режиме firefox без заголовка, он работает нормально, без каких-либо проблем. Но когда я запускаю тот же скрипт в режиме chrome без головы, скрипт терпит неудачу. Затем я добавил скриншоты в свой код для отладки.

При работе в firefox безголовом режиме отображается новый интерфейс входа в Gmail firefox headless 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()

Если у кого-то есть объяснение, пожалуйста, дайте мне знать.

Спасибо.

...