#python #google-chrome #selenium #selenium-webdriver #selenium-chromedriver
#python #google-chrome #selenium #selenium-webdriver #selenium-chromedriver
Вопрос:
Я получаю эту ошибку в нескольких проектах Selenium Python при загрузке chromedriver. Все они начинаются с этого импорта в случае конкретной библиотеки selenium…
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
Недавно я обновился до пакета Python selenium 2.42.1, не уверен, относится ли он к этим обновлениям или к chromedriver? Кто-нибудь еще видел это, есть ли какая-либо документация и какие потенциальные проблемы, если таковые имеются.
Я нашел это в ОС Windows 7 и Windows 8.
Ответ №1:
В ChromeDriver было много запросов, связанных с отслеживанием проблем.
Вот основной:
Пожалуйста, следите за последним прогрессом.
Ответ №2:
Эта проблема была решена в Chromedriver 2.11. Обновления должно быть достаточно:
brew upgrade chromedriver
Однако в моем случае мне не удалось перейти на последнюю версию Chromedriver. Вместо этого мне пришлось удалить, а затем снова установить Chromedriver:
brew install chromedriver
brew uninstall chromedriver
Комментарии:
1. Это, очевидно, только для пользователей Mac
Ответ №3:
Я столкнулся с этой проблемой при запуске тестов selenium в драйвере Chrome. Я добавил
<chrome.switches>test-type</chrome.switches>
в файл POM.
Если вы работаете в командной строке, вы можете добавить
-Dwebdriver.chrome.switches=--test-type
В Phyton попробуйте это при создании экземпляра драйвера
desired_cap = DesiredCapabilities.CHROME
desired_cap['chromeOptions'] = {}
desired_cap['chromeOptions']['args'] = ['--test-type']
Комментарии:
1. Пробовал с Selenium 2.41.0. Пробовал оба
<chrome.switches>test-type</chrome.switches>
и<webdriver.chrome.switches>test-type</webdriver.chrome.switches>
. В обоих случаях я все еще вижу предупреждение от Chrome. Вы уверены, что у вас не происходит что-то еще?2. @SiKing не могли бы вы поделиться журналом во время создания экземпляра драйвера.
3. Я не знаю, что вы подразумеваете под «журналом во время создания экземпляра драйвера». В конце концов я заставил его работать, используя
ChromeOptions()
, который вы впоследствии должны передатьChromeDriver()
конструктору, но я бы очень хотел найти решение, которое мне не нужно передавать конструктору. Кроме того, я нигде не могу найти ничего в Интернете о «webdriver.chrome.switches»; вы уверены, что правильно написали?4. @SiKing Я обновил свой ответ. Пожалуйста, проверьте это
5. Как я уже сказал: способ ChromeOptions работает отлично. Ваши первые два способа: pom и коммандная строка -общий переключатель не работают, по крайней мере, для меня.