Я использую Selenium с Python для очистки веб-страниц в автономном режиме в системе Ubuntu. Мой сценарий настраивает ведение журнала и использует диспетчер контекста для обработки WebDriver. Однако сценарий останавливается после сообщения журнала:
Driver [/home/shane/.wdm/drivers/chromedriver/linux64/132.0.6834.83/chromedriver-linux64/chromedriver] found in cache
Он не переходит к целевому URL-адресу и не выполняет никаких дальнейших действий. Вот соответствующий фрагмент кода:
from datetime import datetime
import logging
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from contextlib import contextmanager
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.StreamHandler(),
logging.FileHandler('app.log', mode='a')
]
)
@contextmanager
def create_driver():
driver = None
try:
options = webdriver.ChromeOptions()
options.binary_location = '/usr/bin/chromium-browser' # Update as needed
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-gpu')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--disable-extensions')
options.add_argument('--disable-setuid-sandbox')
options.add_argument('--window-size=1920,1080')
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
logging.info("WebDriver created successfully.")
yield driver
except Exception as e:
logging.error(f"Error creating WebDriver: {e}")
if driver:
driver.quit()
raise
finally:
if driver:
driver.quit()
logging.info("WebDriver closed successfully.")
def search_web(query):
try:
with create_driver() as driver:
url = 'https://www.example.com/'
logging.info(f"Navigating to search page: {url}")
driver.get(url)
return "complete"
except Exception as e:
logging.error(f"Error during web search: {e}")
return f"Error performing search: {str(e)}"
if __name__ == '__main__':
result = search_web("Hello")
print(result.strip())
Журналы:
Вот журнал вывода, в котором скрипт зависает:
2025-01-18 12:28:52,663 - INFO - ====== WebDriver manager ======
2025-01-18 12:28:52,741 - INFO - Get LATEST chromedriver version for google-chrome
2025-01-18 12:28:52,814 - INFO - Get LATEST chromedriver version for google-chrome
2025-01-18 12:28:52,882 - INFO - Driver [/home/shane/.wdm/drivers/chromedriver/linux64/132.0.6834.83/chromedriver-linux64/chromedriver] found in cache
2025-01-18 12:29:53,123 - ERROR - Error creating WebDriver: Message: session not created: DevToolsActivePort file doesn't exist
Stacktrace:
#0 0x6515224747ca
#1 0x651521f6c2f0
#2 0x651521fa8f34
#3 0x651521fa3999
#4 0x651521f9f8c6
#5 0x651521fecbc9
#6 0x651521fec216
#7 0x651521fe0753
#8 0x651521fadbaa
#9 0x651521faedfe
#10 0x65152243f38b
#11 0x651522443307
#12 0x65152242be7c
#13 0x651522443ec7
#14 0x65152241024f
#15 0x6515224632f8
#16 0x6515224634c0
#17 0x651522473646
#18 0x71479c294ac3
2025-01-18 12:29:53,124 - ERROR - Error during web search: Message: session not created: DevToolsActivePort file doesn't exist
Stacktrace:
#0 0x6515224747ca
#1 0x651521f6c2f0
#2 0x651521fa8f34
#3 0x651521fa3999
#4 0x651521f9f8c6
#5 0x651521fecbc9
#6 0x651521fec216
#7 0x651521fe0753
#8 0x651521fadbaa
#9 0x651521faedfe
#10 0x65152243f38b
#11 0x651522443307
#12 0x65152242be7c
#13 0x651522443ec7
#14 0x65152241024f
#15 0x6515224632f8
#16 0x6515224634c0
#17 0x651522473646
#18 0x71479c294ac3
Error performing search: Message: session not created: DevToolsActivePort file doesn't exist
Stacktrace:
#0 0x6515224747ca
#1 0x651521f6c2f0
#2 0x651521fa8f34
#3 0x651521fa3999
#4 0x651521f9f8c6
#5 0x651521fecbc9
#6 0x651521fec216
#7 0x651521fe0753
#8 0x651521fadbaa
#9 0x651521faedfe
#10 0x65152243f38b
#11 0x651522443307
#12 0x65152242be7c
#13 0x651522443ec7
#14 0x65152241024f
#15 0x6515224632f8
#16 0x6515224634c0
#17 0x651522473646
#18 0x71479c294ac3
Environment Details:
OS: Ubuntu 22.04
Selenium: 4.x
WebDriver Manager: Latest version
Chromium Browser: Installed at /usr/bin/chromium-browser
Verified that Chromium is correctly installed and its version matches the ChromeDriver version.
he WebDriver should navigate to the target URL and complete the search operation.
Why is the WebDriver halting after finding the driver in the cache, and how can I fix this issue?
Подробнее здесь: https://stackoverflow.com/questions/793 ... sing-selen
WebDriver не работает после сообщения «Драйвер найден в кеше» при использовании Selenium и Chromium ⇐ Python
Программы на Python
1737207811
Anonymous
Я использую Selenium с Python для очистки веб-страниц в автономном режиме в системе Ubuntu. Мой сценарий настраивает ведение журнала и использует диспетчер контекста для обработки WebDriver. Однако сценарий останавливается после сообщения журнала:
Driver [/home/shane/.wdm/drivers/chromedriver/linux64/132.0.6834.83/chromedriver-linux64/chromedriver] found in cache
Он не переходит к целевому URL-адресу и не выполняет никаких дальнейших действий. Вот соответствующий фрагмент кода:
from datetime import datetime
import logging
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from contextlib import contextmanager
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.StreamHandler(),
logging.FileHandler('app.log', mode='a')
]
)
@contextmanager
def create_driver():
driver = None
try:
options = webdriver.ChromeOptions()
options.binary_location = '/usr/bin/chromium-browser' # Update as needed
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-gpu')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument('--disable-extensions')
options.add_argument('--disable-setuid-sandbox')
options.add_argument('--window-size=1920,1080')
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
logging.info("WebDriver created successfully.")
yield driver
except Exception as e:
logging.error(f"Error creating WebDriver: {e}")
if driver:
driver.quit()
raise
finally:
if driver:
driver.quit()
logging.info("WebDriver closed successfully.")
def search_web(query):
try:
with create_driver() as driver:
url = 'https://www.example.com/'
logging.info(f"Navigating to search page: {url}")
driver.get(url)
return "complete"
except Exception as e:
logging.error(f"Error during web search: {e}")
return f"Error performing search: {str(e)}"
if __name__ == '__main__':
result = search_web("Hello")
print(result.strip())
Журналы:
Вот журнал вывода, в котором скрипт зависает:
2025-01-18 12:28:52,663 - INFO - ====== WebDriver manager ======
2025-01-18 12:28:52,741 - INFO - Get LATEST chromedriver version for google-chrome
2025-01-18 12:28:52,814 - INFO - Get LATEST chromedriver version for google-chrome
2025-01-18 12:28:52,882 - INFO - Driver [/home/shane/.wdm/drivers/chromedriver/linux64/132.0.6834.83/chromedriver-linux64/chromedriver] found in cache
2025-01-18 12:29:53,123 - ERROR - Error creating WebDriver: Message: session not created: DevToolsActivePort file doesn't exist
Stacktrace:
#0 0x6515224747ca
#1 0x651521f6c2f0
#2 0x651521fa8f34
#3 0x651521fa3999
#4 0x651521f9f8c6
#5 0x651521fecbc9
#6 0x651521fec216
#7 0x651521fe0753
#8 0x651521fadbaa
#9 0x651521faedfe
#10 0x65152243f38b
#11 0x651522443307
#12 0x65152242be7c
#13 0x651522443ec7
#14 0x65152241024f
#15 0x6515224632f8
#16 0x6515224634c0
#17 0x651522473646
#18 0x71479c294ac3
2025-01-18 12:29:53,124 - ERROR - Error during web search: Message: session not created: DevToolsActivePort file doesn't exist
Stacktrace:
#0 0x6515224747ca
#1 0x651521f6c2f0
#2 0x651521fa8f34
#3 0x651521fa3999
#4 0x651521f9f8c6
#5 0x651521fecbc9
#6 0x651521fec216
#7 0x651521fe0753
#8 0x651521fadbaa
#9 0x651521faedfe
#10 0x65152243f38b
#11 0x651522443307
#12 0x65152242be7c
#13 0x651522443ec7
#14 0x65152241024f
#15 0x6515224632f8
#16 0x6515224634c0
#17 0x651522473646
#18 0x71479c294ac3
Error performing search: Message: session not created: DevToolsActivePort file doesn't exist
Stacktrace:
#0 0x6515224747ca
#1 0x651521f6c2f0
#2 0x651521fa8f34
#3 0x651521fa3999
#4 0x651521f9f8c6
#5 0x651521fecbc9
#6 0x651521fec216
#7 0x651521fe0753
#8 0x651521fadbaa
#9 0x651521faedfe
#10 0x65152243f38b
#11 0x651522443307
#12 0x65152242be7c
#13 0x651522443ec7
#14 0x65152241024f
#15 0x6515224632f8
#16 0x6515224634c0
#17 0x651522473646
#18 0x71479c294ac3
Environment Details:
OS: Ubuntu 22.04
Selenium: 4.x
WebDriver Manager: Latest version
Chromium Browser: Installed at /usr/bin/chromium-browser
Verified that Chromium is correctly installed and its version matches the ChromeDriver version.
he WebDriver should navigate to the target URL and complete the search operation.
Why is the WebDriver halting after finding the driver in the cache, and how can I fix this issue?
Подробнее здесь: [url]https://stackoverflow.com/questions/79367143/webdriver-doesnt-proceed-after-driver-found-in-cache-message-when-using-selen[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия