Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572

Как запустить Selenium. Выдаёт ошибки?

15.09.2024, 11:55. Показов 1420. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Запускаю Selenium. Уже всё перепробовала. Изначально получаю ошибку:
Message: unknown error: cannot find Chrome binary
Stacktrace:
Backtrace:
(No symbol) [0x00F74AD3]
(No symbol) [0x00F09211]
(No symbol) [0x00DFD9CD]
(No symbol) [0x00E1C9F0]
(No symbol) [0x00E1A659]
(No symbol) [0x00E56677]
(No symbol) [0x00E562BC]
(No symbol) [0x00E4F936]
(No symbol) [0x00E24788]
(No symbol) [0x00E25C1D]
GetHandleVerifier [0x011E9342+2502274]
GetHandleVerifier [0x01217959+2692249]
GetHandleVerifier [0x0121ABDC+2705180]
GetHandleVerifier [0x01023480+643008]
(No symbol) [0x00F1208F]
(No symbol) [0x00F17AB8]
(No symbol) [0x00F17BA5]
(No symbol) [0x00F2273B]
BaseThreadInitThunk [0x76A8EF5C+18]
RtlInitializeExceptionChain [0x776A3756+239]
RtlInitializeExceptionChain [0x776A3729+194]
Посмотрела на разных форумах и нашла информацию, что возможная причина, что исполняемый файл браузера находится не в том месте где положено(по умолчанию). Нужно указать путь. Вот так:
Python
1
options.binary_location = r"C:\Program Files\Chrome 109.0\X-Chrome.exe"
Решила получить доступ к google.
Python
1
driver.get('https://www.google.ru/')
В итоге браузер открывается а google нет и получаю вот такую ошибку.
(The process started from chrome location C:\Program Files\Chrome 109.0\X-Chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
Backtrace:
(No symbol) [0x01204AD3]
(No symbol) [0x01199211]
(No symbol) [0x0108D9CD]
(No symbol) [0x010AF067]
(No symbol) [0x010AA659]
(No symbol) [0x010E6677]
(No symbol) [0x010E62BC]
(No symbol) [0x010DF936]
(No symbol) [0x010B4788]
(No symbol) [0x010B5C1D]
GetHandleVerifier [0x01479342+2502274]
GetHandleVerifier [0x014A7959+2692249]
GetHandleVerifier [0x014AABDC+2705180]
GetHandleVerifier [0x012B3480+643008]
(No symbol) [0x011A208F]
(No symbol) [0x011A7AB8]
(No symbol) [0x011A7BA5]
(No symbol) [0x011B273B]
BaseThreadInitThunk [0x76A8EF5C+18]
RtlInitializeExceptionChain [0x776A3756+239]
RtlInitializeExceptionChain [0x776A3729+194]
Вместе с браузером запускается и командная строка, там тоже выводятся ошибки. Пример.

Пошла снова искать информацию на форумах, сказали добавить аргументы. Вот так:
Python
1
2
3
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
Теперь браузера перестал открываться только командная строка.

В чём может быть проблема? Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
print('Content-Type: text/html; charset=utf-8\n')
 
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
 
service = Service(executable_path='./chromedriver.exe')
options = webdriver.ChromeOptions()
 
 
 
options.binary_location = r"C:\Program Files\Chrome 109.0\X-Chrome.exe"
 
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
 
driver = webdriver.Chrome(service=service, options=options)
driver.get('https://www.google.ru/')
driver.quit()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.09.2024, 11:55
Ответы с готовыми решениями:

Как запустить парсер на Selenium с Android-телефона ( Pydroid )?
Доброго времени суток. Мне нужно, чтобы уже написанный скрипт (т.е., реализующий заданную логику) запускался с телефона. Возможно, с...

Не могу запустить программу, постоянно выдает ошибки
uses crt; var x, y: real; begin write('Введите значение x'); readln(x); if (x<0) then y:=(6*x+pi)*power(3, x) ...

Как запустить Python+PhantomJS+Selenium через прокси лист?
Доброго времени суток господа! Вообщем есть код: from selenium import webdriver browser=webdriver.PhantomJS() service_args = ...

4
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
15.09.2024, 15:15  [ТС]
Установила какой-то браузер X-Chrome из-за него и не работает. Поставила оригинал Google Chrome. Запустила скрипт по новой переназначив путь к браузеру. Теперь всё работает.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
print('Content-Type: text/html; charset=utf-8\n')
 
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
 
service = Service(executable_path='./chromedriver.exe')
options = webdriver.ChromeOptions()
 
 
 
options.binary_location = r"C:\Usersатя\AppData\Local\Google\Chrome\Application\chrome.exe"
 
 
driver = webdriver.Chrome(service=service, options=options)
driver.get('https://www.cyberforum.ru/')
driver.quit()
Только вот почему-то после загрузки странички, браузер автоматически закрывается. Из-за driver.quit() или какая-то ошибка?

Добавлено через 2 часа 5 минут
Протестировала и FireFox.

Программы:
Python 3.8.3
FireFox 115
geckodriver-v0.30

Код:

Открывает сайт и делает скриншот:
Также показывает информацию о "geckodriver".

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
print('Content-Type: text/html; charset=utf-8\n')
print("Main2")
import pathlib
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.chrome.service import Service
 
import time
 
options = Options()
options.headless = True
#Полный путь
path = f"{pathlib.Path(__file__).parent.absolute()}/geckodriver.exe"
print(path)
 
driver = webdriver.Firefox(service=Service(path), options=options)
 
print(driver.capabilities['moz:geckodriverVersion'])
#driver.get("https://google.com.au")
print(driver.page_source[0:97:1])
#driver.quit()
 
try:
    driver.get('https://ru.hexlet.io/qna/qa-testing/questions/selenium-python-kak-ne-zakryvat-brauzer/')
    time.sleep(5)
    driver.save_screenshot("4.png")
    #save_screenget_screenshot_as_file("3.png")
    #driver.get('https://ru.hexlet.io/qna/qa-testing/questions/selenium-python-kak-ne-zakryvat-brauzer/')
    #time.sleep(5)
   # driver.get_screenshot_as_file("4.png")
except Exception as ex:
    print(ex)
finally:
    driver.close()
    driver.quit();
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,328
15.09.2024, 15:55
Цитата Сообщение от Katerina1993 Посмотреть сообщение
Только вот почему-то после загрузки странички, браузер автоматически закрывается. Из-за driver.quit() или какая-то ошибка?
quit(0) функция quit - означает выход, в переводе - уволиться
0
Эксперт .NET
 Аватар для Usaga
14314 / 9399 / 1355
Регистрация: 21.01.2016
Сообщений: 35,437
16.09.2024, 06:56
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
в переводе - уволиться
Нет, это именно "выйти, покинуть", в широком смысле слова.
0
 Аватар для ViachaslauK
132 / 190 / 17
Регистрация: 08.10.2024
Сообщений: 722
08.10.2024, 18:14
Сделайте красиво и используйте драйвер как contextmanager
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from selenium import webdriver
from contextlib import contextmanager
 
@contextmanager
def selenium_driver():
    driver = webdriver.Chrome() 
    try:
        yield driver
    finally:
        driver.quit()
 
 
with selenium_driver() as driver:
    driver.get('https://example.com')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2024, 18:14
Помогаю со студенческими работами здесь

[Selenium] Как найти элемент на странице с задержкой без ошибки?
Как найти элемент на странице с задержкой? И если вдруг данного элемента нету, то фунцкия продолжала работать, а не обсиралась... ...

Не могу запустить Firefox с профилем под Selenium
Firefox не может найти профиль PROFILE =...

Есть код, не знаю как запустить программу. Выдает ошибку
Математическая программа ;Kvadrat mvi a,45 mov b,a mov c,a m1: dcr c

Как запустить скрипт после ошибки?
Запускаю скрипт в консоле, который каждые 3 минуты подключается к серверу и получает данные cron.schedule('*/3 * * * *', () => { ...

Элемент найден, но выдает ошибку (Selenium)
Всем здравствуйте! Подскажите пожалуйста, кто сталкивался с такой ситуацией, что элемент найден в html но движок выдает ошибку. Unknown...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru