Selenium Chrome не работает в режиме без головы - PullRequest
0 голосов
/ 01 февраля 2019

Я испытываю странное поведение селена при работе в автономном режиме с веб-драйвером Chrome.До сих пор у меня не было этой проблемы, прежде чем получить текст в режиме без головы, он всегда работал.

Воспроизводимый пример приведен ниже:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

options = webdriver.ChromeOptions()
#options.add_argument('--headless')
#options.add_argument('--no-sandbox')

driver = webdriver.Chrome(chrome_options=options)

driver.get("https://www.zoom.com.br/ar-condicionado/todos")

wait = WebDriverWait(driver, 10)

stores = wait.until(
    EC.presence_of_all_elements_located((By.XPATH,
                                        './/span[@class="storeCount-txt"]')))

print(stores[0].text)

Когда я запускал этот миркод выходной:

> em 14 lojas

Однако, когда я запускаю его в режиме без головы (удалить #s), вывод пустой:

> ""

Любые идеи о том, что происходит

1 Ответ

0 голосов
/ 02 февраля 2019

Попробуйте это. Это должно сработать.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument("--start-maximized")

driver = webdriver.Chrome(chrome_options=options,executable_path='D:/Java/TestChrome/lib/chromedriver.exe')

driver.get("https://www.zoom.com.br/ar-condicionado/todos")
wait = WebDriverWait(driver, 20)

stores = wait.until(EC.presence_of_all_elements_located((By.XPATH,'//span[@class="storeCount-txt"]')))
print("test : " + stores[0].get_attribute('innerHTML'))

Дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...