selenium调用chrome, elenium.common
2024-01-26 本文已影响0人
生命不止运动不息
python使用selenium调用谷歌浏览器代码如下
import undetected_chromedriver as uc
from selenium.webdriver.chrome.options import Options
def openHtmlUrl(ttUploadVideoUrl) :
chrome_options = Options()
# 将默认的profile路径中的内容,拷贝到以下目录中,并将该路径指派给chromedriver
profile = '/Users/mine/Desktop/Files/Codes/Gitee/Python/automedia/profile/Default'
chrome_options.add_argument(f"--user-data-dir={profile}")
# 手动下载好chromedriver,然后手动指定driver_executable_path,免得自动去下载,会被和谐
driverpath = '/Users/mine/Desktop/Files/Codes/Gitee/Python/automedia/profile/chromedrive/chromedriver'
driver = uc.Chrome(options=chrome_options ,driver_executable_path=driverpath)
driver.get(ttUploadVideoUrl)
return driver
遇到错误如下:
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:50450
driver = uc.Chrome(options=chrome_options ,driver_executable_path=driverpath)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/undetected_chromedriver/__init__.py", line 466, in __init__
super(Chrome, self).__init__(
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
super().__init__(
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/chromium/webdriver.py", line 61, in __init__
super().__init__(command_executor=executor, options=options)
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 209, in __init__
self.start_session(capabilities)
File "/usr/local/lib/python3.11/site-packages/undetected_chromedriver/__init__.py", line 724, in start_session
super(selenium.webdriver.chrome.webdriver.WebDriver, self).start_session(
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 293, in start_session
response = self.execute(Command.NEW_SESSION, caps)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 348, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:50450
from chrome not reachable
Stacktrace:
0 chromedriver 0x000000010b38dcc8 chromedriver + 4844744
1 chromedriver 0x000000010b385243 chromedriver + 4809283
2 chromedriver 0x000000010af5358b chromedriver + 411019
3 chromedriver 0x000000010af3cf2a chromedriver + 319274
4 chromedriver 0x000000010af90c86 chromedriver + 662662
5 chromedriver 0x000000010af878c6 chromedriver + 624838
6 chromedriver 0x000000010afd9833 chromedriver + 960563
7 chromedriver 0x000000010afcda63 chromedriver + 911971
8 chromedriver 0x000000010af951b3 chromedriver + 680371
9 chromedriver 0x000000010af967ce chromedriver + 686030
10 chromedriver 0x000000010b34d642 chromedriver + 4580930
11 chromedriver 0x000000010b3529cc chromedriver + 4602316
12 chromedriver 0x000000010b332e11 chromedriver + 4472337
13 chromedriver 0x000000010b353746 chromedriver + 4605766
14 chromedriver 0x000000010b32439c chromedriver + 4412316
15 chromedriver 0x000000010b373868 chromedriver + 4737128
16 chromedriver 0x000000010b373a1e chromedriver + 4737566
17 chromedriver 0x000000010b384e83 chromedriver + 4808323
18 libsystem_pthread.dylib 0x00007ff8148b21d3 _pthread_start + 125
19 libsystem_pthread.dylib 0x00007ff8148adbd3 thread_start + 15
问题原因以及解决方法
原因就是因为 指定的用户目录的总大小数据过大,达到了几G
解决办法:清空目录数据,或重指一个用户数据目录
原因与方案
感谢以下文章:
https://stackoom.com/zh/question/4rBt9
解决方案