python работает chromedriver не запускает браузер на Cygwin - PullRequest
0 голосов
/ 11 января 2020

в Cygwin, когда я запускаю попытку запустить Selenn Webdriver, python запускает второй процесс, а затем останавливается при создании экземпляра. Я замечаю, что если я закрою один из двух процессов через диспетчер задач windows, браузер затем запустится и перейдет к каталогу.

удаление python до только селена, по-видимому, не имеет никакого значения.

здесь установлены библиотеки,

$ pip3.6 freeze
selenium==3.141.0
urllib3==1.25.7

, а вот пример кода.

import time;
import sys;
from selenium import webdriver;

print("here0");
driver = webdriver.Chrome()
print("here1");
driver.get('http://www.yahoo.com');
print("here2");
time.sleep(20);

, когда я отменяю его, я получаю следующую ошибку:

Traceback (most recent call last):
  File "test.py", line 20, in <module>
    driver = webdriver.Chrome()
  File "/usr/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
    self.service.start()
  File "/usr/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 76, in start
    stdin=PIPE)
  File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.6/subprocess.py", line 1318, in _execute_child
    part = os.read(errpipe_read, 50000)
KeyboardInterrupt

есть идеи?

1 Ответ

0 голосов
/ 13 января 2020

Это было определено как ошибка, и будет исправлено в следующих шагах

2) для воспроизведения python селена. - Запустите set, выберите emacs, python 3.5,6 или 7 и соответствующие инструменты разработки. - установить. - из приглашения: - python -m surepip --default-pip -pip3.6 установить селен "pip3.6 freeze selenium == 3.141.0 urllib3 == 1.25.7" Пример python тестового кода. из селена импорт веб-драйвера

EXE_PATH = r '/ cygdrive / c / webdriver / chromedriver.exe';

driver = webdriver. Chrome (executetable_path = EXE_PATH)

driver = webdriver. Chrome (executetable_path = EXE_PATH, service_args = ["- verbose", "--log-path = run.log"])

driver = webdriver. Chrome (service_args = ["--verbose", "--log-path = run.log"]) driver.get ('https://google.com') - в этот момент программа зависнет. Похоже, он ожидает подключения к chromedriver. запуск диспетчера задач на windows 10, приведет к двум python3 .x процессам. Это может быть ожидаемым поведением, я предполагаю, что он открыт с помощью форка, а сокет дочернего процесса не закрыт. Закрытие дочернего элемента приводит к запуску основного, прерывая выполнение основных разрывов. Похоже, это проблема с любой установкой python 3.x, которую я сделал.

Отмена с помощью ctrl- c приводит к следующему: Traceback (последний вызов был последним): файл "test.py" , строка 20, в драйвере = webdriver. Chrome () Файл "/usr/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", строка 73, в init Файл self.service.start () "/usr/lib/python3.6/site-packages/selenium/webdriver/common/service.py", строка 76, в стартовом файле stdin = PIPE) "/ usr / lib / python3 .6 / subprocess.py ", строка 729, в init restore_signals, start_new_session) Файл" /usr/lib/python3.6/subprocess.py ", строка 1318 , в _execute_child part = os.read (errpipe_read, 50000) KeyboardInterrupt

Спасибо за отчет.

Не удалось воспроизвести проблему 1).

Как для проблемы 2), похоже, такая же проблема с https://www.cygwin.com/ml/cygwin/2020-01/msg00093.html.

Я уже представил патч для этой проблемы: https://www.cygwin.com/ml/cygwin-patches/2020-q1/msg00010.html.

я подтвердил проблему 2) исправлено с этим патчем.

Пожалуйста, дождитесь новой версии Cygwin.

-

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