Процесс, запущенный из расположения Chrome C: \ .. \ Chrome \ Application \ chrome.exe, больше не выполняется, поэтому ChromeDriver предполагает, что Chrome аварийно завершил работу. - PullRequest
0 голосов
/ 24 августа 2018

Версия Chrome: 68.0.3440.106
Версия веб-драйвера Chrome: ChromeDriver 2.41.578737
Версия Python: Python 3.5.2

Я пишу этот код на python:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys


o = webdriver.ChromeOptions()
o.add_argument("disable-extensions");
o.add_argument("--start-maximized");
driver = webdriver.Chrome(executable_path=r"chromedriver.exe",options=o)
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

через несколько секунд Chrome открывается с этой ошибкой:

image
и ничего не происходит, пока я не закрою Chrome и не получу это исключение:

    Traceback (most recent call last):
  File ".../game.py", line 8, in <module>
    driver = webdriver.Chrome(executable_path=r"chromedriver.exe",options=o)
  File "...\Python\Python35-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 75, in __init__
    desired_capabilities=desired_capabilities)
  File "...\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 156, in __init__
    self.start_session(capabilities, browser_profile)
  File "...\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 251, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "...\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 320, in execute
    self.error_handler.check_response(response)
  File "...\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited normally
  (unknown error: unable to discover open pages)
  (The process started from chrome location C:\Program Files (x86)\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 x86_64)

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

Это сообщение об ошибке ...

selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited normally
  (unknown error: unable to discover open pages)
  (The process started from chrome location C:\Program Files (x86)\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

... означает, что ChromeDriver не смог инициировать / создать новый WebBrowser , т.е. Браузер Chrome сеанс.

Похоже, что ваша основная проблема заключается в том, что двоичный файл chrome , т. Е. chrome.exe и связанные с ним файлы более недоступны / недоступны из местоположения по умолчанию:

C:\Program Files (x86)\Google\Chrome\Application\

Возможные причины:


Дополнительные соображения

  • Chrome и ChromeDriver находятся в нужном месте.
  • Chrome и ChromeDriver имеют разрешение на выполнение для пользователей без полномочий root (не администратор).
  • Обновление Селен до текущих уровней Версия 3.14.0 .
  • Очистите ваше Рабочее пространство проекта через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • ( только для WindowsOS ) Используйте инструмент CCleaner , чтобы стереть все обязанности ОС до и после выполнения Test Suite .
  • ( только для LinuxOS ) Освободить и освободить неиспользуемую / кэшированную память в Ubuntu / Linux Mint до и после выполнения Test Suite .
  • Если ваша базовая версия Web Client устарела, удалите ее через Revo Uninstaller и установите последнюю версию GA и выпущенную версию Web Клиент .
  • Возьмите Перезагрузка системы .
  • Выполните @Test как пользователь без полномочий root .
  • Запустите сервер селена с webdriver-manager start на компьютере с рабочим столом (не используйте удаленный сеанс для запуска сервера селена).
0 голосов
/ 24 августа 2018

используйте правильный аргумент для отключения расширения:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
o = Options()
#o.add_argument("--disable-extensions"); #here
o.add_experimental_option("useAutomationExtension", false); #you can try this as well
o.add_argument("--start-maximized");
driver = webdriver.Chrome(executable_path=r"chromedriver.exe",chrome_options=o)
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...