Python: безголовый режим подхватывает старую версию Chrome - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь автоматизировать отправку текстового сообщения, используя python & selenium от https://voice.google.com/about.Когда я запускаю приведенный ниже код, он выбирает самую последнюю версию / экземпляр Google Chrome и работает нормально.Но, когда я запускаю его в режиме без головы, он использует более старую версию Google Chrome (догадываясь по скриншоту) и выдает исключение TimeoutException().При входе в систему происходит сбой.

Я проверил идентификатор элемента для входа в поле в эмуляторе IE, и он выглядит так же.

        url = "https://voice.google.com/about"
        driver.get(url)
        time.sleep(5)
        driver.get_screenshot_as_file('C:\\Drivers\\Q11-0.png')

        # Click on a GET GOOGLE VOICE
        WebDriverWait(driver, 60).until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="heroToggle"]/button/span'))).click()

        print("Clicked on a get google voice")

        # Click on a WEB
        WebDriverWait(driver, 60).until(
            EC.element_to_be_clickable((By.XPATH, '//*[@id="heroToggle"]/div/button[3]'))).click()
        print("Clicked on a WEB button.")

        driver.get_screenshot_as_file('C:\\Drivers\\Q11-1.png')

        # Enter username and password
        # THIS IS WHERE IT FAILS
        WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.ID, 'identifierId')))
        email = driver.find_element_by_id('identifierId')
        time.sleep(10)
        email.send_keys('username')
        time.sleep(10)
        nextBtn = driver.find_element_by_xpath('//*[@id="identifierNext"]/content/span')
        nextBtn.click()

        driver.get_screenshot_as_file('C:\\Drivers\\Q11-2.png')


        # Enter password
        password = driver.find_element_by_xpath('//*[@id="password"]/div[1]/div/div[1]/input')
        password.send_keys('password')
        nextBtn = driver.find_element_by_xpath('//*[@id="passwordNext"]/content')
        nextBtn.click()

Снимок экрана при работе в обычном режиме,enter image description here

Снимок экрана, когда я работаю в режиме без головы, enter image description here

Драйверы обновляются правильно.Я не уверен, что я делаю неправильно.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 18 декабря 2018

Попробуйте переопределить user-agent, чтобы он не содержал тег без заголовка.

opts = Options()
opts.add_argument("user-agent=User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36")

driver = webdriver.Chrome(chrome_options=opts)
...