WebDriver не работает после сообщения «Драйвер найден в кеше» при использовании Selenium и ChromiumPython

Программы на Python
Ответить
Anonymous
 WebDriver не работает после сообщения «Драйвер найден в кеше» при использовании Selenium и Chromium

Сообщение 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?


Подробнее здесь: https://stackoverflow.com/questions/793 ... sing-selen
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»