Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Message: unknown error: cannot connect to chrome at 127.0.0.1:50276 #743

Open
kSinghParth opened this issue Jul 25, 2022 · 64 comments
Open

Comments

@kSinghParth
Copy link

Hey,

I am running a script on a headless server via ssh. The script was working fine until about a week ago. I made some minor unrelated changes, post which undetected-chromedriver started failing.
I am attaching a very simplified code below.

from undetected_chromedriver import find_chrome_executable
from selenium.webdriver.common.by import By
import undetected_chromedriver as uc
import time
from logger import logger


def scrape():
	try:
		print(find_chrome_executable())
		driver = uc.Chrome(headless=True, service_args=["--verbose", "--log-path=cd.log"])

		driver.get('https://myexternalip.com/raw')
		time.sleep(1)
		print(driver.find_elements(By.CSS_SELECTOR, "body")[0].text)
	except Exception as e:
		print(e)
		logger.exception("Exception occured: ")

scrape()

I get the following stdout/stderr

/opt/google/chrome/chrome
Message: unknown error: unable to discover open window in chrome
  (Session info: headless chrome=103.0.5060.134)
Stacktrace:
#0 0x559738e2ecd3 <unknown>
#1 0x559738c36968 <unknown>
#2 0x559738c16f49 <unknown>
#3 0x559738c91e1a <unknown>
#4 0x559738c8baa3 <unknown>
#5 0x559738c613fa <unknown>
#6 0x559738c62555 <unknown>
#7 0x559738e762bd <unknown>
#8 0x559738e7a418 <unknown>
#9 0x559738e6036e <unknown>
#10 0x559738e7b078 <unknown>
#11 0x559738e54bb0 <unknown>
#12 0x559738e97d58 <unknown>
#13 0x559738e97ed8 <unknown>
#14 0x559738eb1cfd <unknown>
#15 0x7f14f448e6ba <unknown>

The complete stack trace is

patching driver executable /home/kpsingh/.local/share/undetected_chromedriver/9169c1ae1dc52599_chromedriver
Exception occured: 
Traceback (most recent call last):
  File "a.py", line 11, in scrape
    driver = uc.Chrome(headless=True, service_args=["--verbose", "--log-path=cd.log"])
  File "/data-2/research/expedia/Ranking-Comparator/venv/lib/python3.7/site-packages/undetected_chromedriver/__init__.py", line 408, in __init__
    keep_alive=keep_alive,
  File "/data-2/research/expedia/Ranking-Comparator/venv/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 72, in __init__
    service_log_path, service, keep_alive)
  File "/data-2/research/expedia/Ranking-Comparator/venv/lib/python3.7/site-packages/selenium/webdriver/chromium/webdriver.py", line 97, in __init__
    options=options)
  File "/data-2/research/expedia/Ranking-Comparator/venv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 277, in __init__
    self.start_session(capabilities, browser_profile)
  File "/data-2/research/expedia/Ranking-Comparator/venv/lib/python3.7/site-packages/undetected_chromedriver/__init__.py", line 590, in start_session
    capabilities, browser_profile
  File "/data-2/research/expedia/Ranking-Comparator/venv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 370, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/data-2/research/expedia/Ranking-Comparator/venv/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 435, in execute
    self.error_handler.check_response(response)
  File "/data-2/research/expedia/Ranking-Comparator/venv/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 247, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open window in chrome
  (Session info: headless chrome=103.0.5060.134)
Stacktrace:
#0 0x559738e2ecd3 <unknown>
#1 0x559738c36968 <unknown>
#2 0x559738c16f49 <unknown>
#3 0x559738c91e1a <unknown>
#4 0x559738c8baa3 <unknown>
#5 0x559738c613fa <unknown>
#6 0x559738c62555 <unknown>
#7 0x559738e762bd <unknown>
#8 0x559738e7a418 <unknown>
#9 0x559738e6036e <unknown>
#10 0x559738e7b078 <unknown>
#11 0x559738e54bb0 <unknown>
#12 0x559738e97d58 <unknown>
#13 0x559738e97ed8 <unknown>
#14 0x559738eb1cfd <unknown>
#15 0x7f14f448e6ba <unknown>

Driver verbose logs.

[1658719378.800][INFO]: Starting ChromeDriver 103.0.5060.134 (8ec6fce403b3feb0869b0732eda8bd95011d333c-refs/branch-heads/5060@{#1262}) on port 44138
[1658719378.800][INFO]: Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
[1658719379.303][INFO]: [6c406d0e3de32079e8a9d655c7fe08c8] COMMAND InitSession {
   "capabilities": {
      "alwaysMatch": {
         "browserName": "chrome",
         "goog:chromeOptions": {
            "args": [ "--remote-debugging-host=127.0.0.1", "--remote-debugging-port=46537", "--user-data-dir=/tmp/tmpb6685gbz", "--lang=en-US", "--no-default-browser-check", "--no-first-run", "--headless", "--window-size=1920,1080", "--start-maximized", "--no-sandbox", "--log-level=0" ],
            "binary": "/opt/google/chrome/chrome",
            "debuggerAddress": "127.0.0.1:46537",
            "extensions": [  ]
         },
         "pageLoadStrategy": "normal"
      },
      "firstMatch": [ {
      } ]
   }
}
[1658719379.304][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.307][DEBUG]: DevTools HTTP Request failed
[1658719379.358][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.359][DEBUG]: DevTools HTTP Request failed
[1658719379.409][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.410][DEBUG]: DevTools HTTP Request failed
[1658719379.460][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.462][DEBUG]: DevTools HTTP Request failed
[1658719379.512][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.513][DEBUG]: DevTools HTTP Request failed
[1658719379.563][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.564][DEBUG]: DevTools HTTP Request failed
[1658719379.614][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.615][DEBUG]: DevTools HTTP Request failed
[1658719379.666][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.666][DEBUG]: DevTools HTTP Request failed
[1658719379.716][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719379.718][DEBUG]: DevTools HTTP Request failed
[1658719379.768][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/version
[1658719380.036][DEBUG]: DevTools HTTP Response: {
   "Browser": "HeadlessChrome/103.0.5060.134",
   "Protocol-Version": "1.3",
   "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/103.0.5060.134 Safari/537.36",
   "V8-Version": "10.3.174.20",
   "WebKit-Version": "537.36 (@8ec6fce403b3feb0869b0732eda8bd95011d333c)",
   "webSocketDebuggerUrl": "ws://127.0.0.1:46537/devtools/browser/2b165332-13f9-4fff-a60d-d2c1f94f8d98"
}

[1658719380.036][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/list
[1658719380.618][DEBUG]: DevTools HTTP Response: [ {
   "description": "",
   "devtoolsFrontendUrl": "/devtools/inspector.html?ws=127.0.0.1:46537/devtools/page/BB65E0E978029AB046DB51A606B084EF",
   "id": "BB65E0E978029AB046DB51A606B084EF",
   "title": "",
   "type": "page",
   "url": "about:blank",
   "webSocketDebuggerUrl": "ws://127.0.0.1:46537/devtools/page/BB65E0E978029AB046DB51A606B084EF"
} ]

[1658719380.618][DEBUG]: DevTools HTTP Request: http://127.0.0.1:46537/json/list
[1658719380.728][DEBUG]: DevTools HTTP Response: [  ]

[1658719380.732][INFO]: [6c406d0e3de32079e8a9d655c7fe08c8] RESPONSE InitSession ERROR unknown error: unable to discover open window in chrome
  (Session info: headless chrome=103.0.5060.134)
[1658719380.732][DEBUG]: Log type 'driver' lost 0 entries on destruction
[1658719380.732][DEBUG]: Log type 'browser' lost 0 entries on destruction

Operating System: Ubuntu 16.04.7 LTS
Kernel: Linux 4.4.0-210-generic
Architecture: x86-64

$ chrome --version
Google Chrome 103.0.5060.134 unknown
$ which chrome
/opt/google/chrome/chrome
$ python --version
Python 3.7.7

undetected-chromedriver==3.1.5.post4

If I simply try to run selenium headless, I am facing no problems.
Any help would be appreciated.
Thanks.

@kSinghParth
Copy link
Author

I have been trying different things and the verbose driver logs seem to have changed a bit.

[1658781393.276][INFO]: Starting ChromeDriver 103.0.5060.134 (8ec6fce403b3feb0869b0732eda8bd95011d333c-refs/branch-heads/5060@{#1262}) on port 47324
[1658781393.276][INFO]: Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
[1658781393.779][INFO]: [c0a694c101f2727524e75d070370b885] COMMAND InitSession {
   "capabilities": {
      "alwaysMatch": {
         "browserName": "chrome",
         "goog:chromeOptions": {
            "args": [ "--remote-debugging-host=127.0.0.1", "--remote-debugging-port=37090", "--user-data-dir=/tmp/tmp2mvwlfbl", "--lang=en-US", "--no-default-browser-check", "--no-first-run", "--headless", "--window-size=1920,1080", "--start-maximized", "--no-sandbox", "--log-level=0" ],
            "binary": "/usr/bin/google-chrome-stable",
            "debuggerAddress": "127.0.0.1:37090",
            "extensions": [  ]
         },
         "pageLoadStrategy": "normal"
      },
      "firstMatch": [ {
      } ]
   }
}
[1658781393.779][DEBUG]: DevTools HTTP Request: http://127.0.0.1:37090/json/version
[1658781393.781][DEBUG]: DevTools HTTP Request failed
[1658781393.831][DEBUG]: DevTools HTTP Request: http://127.0.0.1:37090/json/version
[1658781393.833][DEBUG]: DevTools HTTP Request failed
[1658781393.883][DEBUG]: DevTools HTTP Request: http://127.0.0.1:37090/json/version
[1658781393.884][DEBUG]: DevTools HTTP Request failed
[1658781393.934][DEBUG]: DevTools HTTP Request: http://127.0.0.1:37090/json/version
[1658781393.935][DEBUG]: DevTools HTTP Request failed
[1658781393.985][DEBUG]: DevTools HTTP Request: http://127.0.0.1:37090/json/version
[1658781393.986][DEBUG]: DevTools HTTP Request failed
.
.
.
.
.
.
[1658781453.688][DEBUG]: DevTools HTTP Request: http://127.0.0.1:37090/json/version
[1658781453.689][DEBUG]: DevTools HTTP Request failed
[1658781453.739][DEBUG]: DevTools HTTP Request: http://127.0.0.1:37090/json/version
[1658781453.740][DEBUG]: DevTools HTTP Request failed
[1658781453.790][DEBUG]: DevTools HTTP Request: http://127.0.0.1:37090/json/version
[1658781453.791][DEBUG]: DevTools HTTP Request failed
[1658781453.796][INFO]: [c0a694c101f2727524e75d070370b885] RESPONSE InitSession ERROR unknown error: cannot connect to chrome at 127.0.0.1:37090
from chrome not reachable
[1658781453.796][DEBUG]: Log type 'driver' lost 0 entries on destruction
[1658781453.796][DEBUG]: Log type 'browser' lost 0 entries on destruction```

@cmc222
Copy link

cmc222 commented Jul 29, 2022

try to add incognito into your driver.

options.add_argument("--incognito")

@kSinghParth
Copy link
Author

Using incognito option didn't work.

@emibonezzi
Copy link

emibonezzi commented Aug 17, 2022

Any news? Same is happening to me. It is strangely working from PyCharm but when I start it from a crontab on Ubuntu it doesn’t work

@kSinghParth
Copy link
Author

Nope, my work has come to a complete halt because of this. Cant find any solution. I have tried almost every trick posted on any related problems thread.

@Habidis
Copy link

Habidis commented Aug 18, 2022

I've noticed that whenever I use the parameter "--user-data-dir" at the driver options:

options.add_argument("--user-data-dir=c:\WhateverFolder")

If I delete that "c:\WhateverFolder", it works again, but of course, I must re-login on every site.

@lvzenglei
Copy link

Do you solve this question?

@hosam7080
Copy link

hosam7080 commented Sep 16, 2022

I had the same problem so I did the following:
1- google chrome was running using a virtual monitor see this thread: https://stackoverflow.com/questions/36582594/a-virtual-display-for-ubuntu-server
2- after updating and restarting the server I added the option ('--headless') to the driver and ran it,
3- the surprise was that it ran normally, then I deleted that headless option and ran it again and it worked with no problems
4- other solution is to add the option ('--no-sandbox') and sometimes it works with this
4- so in conclusion it's a bug related to the driver options, I hope they fix it

@kavmax
Copy link

kavmax commented Sep 19, 2022

I have the same problem if I use options.add_argument("--user-data-dir=c:\WhateverFolder") as @Habidis mentioned.
It works fine with fresh folder some amount of time but than browser both loads too long or fails with error.

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:57455
from chrome not reachable
Stacktrace:
#0 0x5650cfd6e693 <unknown>
#1 0x5650cfb679db <unknown>
#2 0x5650cfb5781e <unknown>
#3 0x5650cfb90677 <unknown>
#4 0x5650cfb87e9f <unknown>
#5 0x5650cfbc3953 <unknown>
#6 0x5650cfbbd743 <unknown>
#7 0x5650cfb93533 <unknown>
#8 0x5650cfb94715 <unknown>
#9 0x5650cfdbe7bd <unknown>
#10 0x5650cfdc1bf9 <unknown>
#11 0x5650cfda3f2e <unknown>
#12 0x5650cfdc29b3 <unknown>
#13 0x5650cfd97e4f <unknown>
#14 0x5650cfde1ea8 <unknown>
#15 0x5650cfde2052 <unknown>
#16 0x5650cfdfc71f <unknown>
#17 0x7f923f778e2d <unknown>


Process finished with exit code 1

Does anyone knows how to fix this error?

@01supertips
Copy link

Heys Guys, I have the same problems.

@smsajjadzaidi
Copy link

following

@pedro-beemon
Copy link

Heys Guys, I have the same problems.

@smsajjadzaidi
Copy link

try adding these arguments to the driver

options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
options.add_argument("--disable-setuid-sandbox")

@luongnguyentrong
Copy link

Is there any update on this issue, i have tried to add arguments mentioned by @smsajjadzaidi but it still gives this error

@deluxeomat
Copy link

Faced the same problem, occurred using python 3.7. Solution was to update to python 3.8.

@MASSKAgithub
Copy link

MASSKAgithub commented Nov 26, 2022

Add this all:

options.add_argument("--disable-extensions")
options.add_argument('--disable-application-cache')
options.add_argument('--disable-gpu')
options.add_argument("--no-sandbox")
options.add_argument("--disable-setuid-sandbox")
options.add_argument("--disable-dev-shm-usage")

And try to running in headless:
options.add_argument("--headless")

Same as update to last version and use chrome driver manager instead of path or local variable

If still not working then clean your linux and try again

Edit: the 2 dumbs that put a 👎 are idiots that even didnt tested,
Just try and youll see it works

@martroben
Copy link

I had the same issue when running uc inside a Python Docker container (based on python:3.10 which is basically some minimal Debian). Here are the steps that got uc working inside the container:

  1. Install Chrome
DEBIAN_FRONTEND=noninteractive && \
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub > /usr/share/keyrings/chrome.pub && \
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/chrome.pub] http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/google-chrome.list && \
apt update -y && \
apt install -y google-chrome-stable
  1. Install the X Virtual Framebuffer display server
apt install xvfb -y
  1. Set DISPLAY environmental variable to :1
export DISPLAY=:1
  1. Start a Xvfb process in the background
Xvfb $DISPLAY -screen $DISPLAY 1280x1024x16 &
  1. Run a minimal py script with uc
python3 example.py

Here's the example script I used:

import undetected_chromedriver as uc
from time import sleep

log_path = "/chromedriver.log"
url = "https://check.torproject.org/"

chrome_driver = uc.Chrome(service_log_path=log_path)
chrome_driver.get(url)
sleep(5)
scraped_page = chrome_driver.page_source
chrome_driver.quit()
print(scraped_page)

Note that I'm running the driver without the --headless argument and it seems to work fine.

All of it is a truncated version of this Docker image (requires login to Docker hub) by @ultrafunkamsterdam.

I know that the original question was not about running uc inside a Docker container, but I hope it could give you some ideas.

@michaeloo0
Copy link

Thanks martroben
I've merged martroben and undetected-chromedriver into Image

So can easy to run Chrome driver in container
Usage:

FROM knthony/run_chrome_driver_in_container
CMD ["python", "example.py"]

@mbernatovic
Copy link

@michaeloo0 i tried your image and it throws me selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:39597 from chrome not reachable

any ideas ?

@michaeloo0
Copy link

yes,in this image the version of chrome is 108, so please using follow script to recreate docker image

FROM ultrafunk/undetected-chromedriver:3.20-chrome-lateinstall

RUN DEBIAN_FRONTEND=noninteractive 
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub > /usr/share/keyrings/chrome.pub 
RUN echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/chrome.pub] http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/google-chrome.list
RUN apt update -y 
RUN apt install -y google-chrome-stable

RUN apt install xvfb -y 
RUN export DISPLAY=:1 
RUN Xvfb $DISPLAY -screen $DISPLAY 1280x1024x16 &

@wundergeu
Copy link

Just like @Habidis said, deleting the profile folder works for me.

@Anticope12
Copy link

Found a solution for the problem.
forget about all the extra arguments and updates/ etc.

If you are using the DIR folder that currently has a browser profile open. it will not work. you have to close everything first and then run it. That was the workaround for it for me.

@kSinghParth @wundergeu @Habidis

@phl0yd
Copy link

phl0yd commented Mar 2, 2023

Thank you @Anticope12 your solution worked. Just need to close other instances of Chrome before running script !!

I've been frustrated the last couple weeks as my scripts were hanging with the following error message:

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:57930
from chrome not reachable

Tried all the different arguments, but nothing worked. Now working again, just need to close browser first!

@asimptot
Copy link

asimptot commented Mar 2, 2023

@phl0yd , @Anticope12 hi,

Can you share your code here, please? Although I closed the Chrome app in the background, it didn't work on my end.

@phl0yd
Copy link

phl0yd commented Mar 6, 2023

@asimptot Not sure if all these options are necessary, but this is the code I am currently running.

Before you change your code, you may want to open task manager and make sure every Chrome task is shut down.

import undetected_chromedriver as uc

undetected_chromedriver

options = uc.ChromeOptions()
options.add_argument('--incognito')
options.add_argument("--window-size=1920,1080")
options.add_argument("--start-maximized")

#added new options since issues in Jan 2023 #743
options.add_argument("--disable-extensions")
options.add_argument("--disable-application-cache")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
options.add_argument("--disable-setuid-sandbox")
options.add_argument("--disable-dev-shm-usage")
#options.add_argument("--headless") #can enable or disable headless, up to your needs

driver = uc.Chrome(use_subprocess=True,options = options)

with driver:
driver.get('https://www.yourwebsite.com')

......

@asimptot
Copy link

asimptot commented Mar 6, 2023

Here is my code and that worked for me!

    chrome_options = uc.ChromeOptions()
    chrome_options.add_argument('--headless=new')
    self.browser = uc.Chrome(options=chrome_options, version_main=110)

@eravet
Copy link

eravet commented May 7, 2023

In this SO post they suggest that the issue is that "the versions of chrome, undetected-chrome and chromedriver where NOT aligned."

I updated @asimptot code to match the version of Chrome I'm using and it worked.

@s-o-f
Copy link

s-o-f commented May 12, 2023

Clearing of the user profile folder worked for me. As same as incognito mode. But i need history, cookies, etc. between sessions.
So i found only two ways suitable for me:

  1. Use older version of Google Chrome 107.0.5304.121 and version_main=107 argument. But using old browser makes your detection easier.
  2. The problem is with "SingletonLock" file, which you can find in the root of user profile folder. Just delete this file before starting Chrome and Message: unknown error: cannot connect to chrome at 127.0.0.1:56401 from chrome not reachable will never show again.

@sujaykhandekar
Copy link

@s-o-f yes you are correct about that. But deleting it means not being able to reuse the custom profile sadly.

@freemedom
Copy link

freemedom commented May 18, 2023

Looking at all of the above solutions, my reason should be the addition of --user-data-dir, and there is something wrong(don't know exactly why) with the userdata folder.
My solution looks to @Anticope12 @s-o-f , but it's not quite the same. I've turned off all of chrome.exe.
I guess because I forced close chrome by mistake, which caused some bug, I manually used chrome.exe "--user-data-dir=xxx" in cmd to reopen chrome.exe with this userdata directory.
And close. And then it's normal in selenium.
image


I tried all of the add_argument methods above, and none of them worked.

(windows)

@ku-ku-sha
Copy link

Try this:

options = Options()
options.add_argument('--remote-debugging-port=9230')
options.add_argument('--remote-allow-origins=*')

@mazzystr
Copy link

mazzystr commented Jun 1, 2023

RHEL8, google-chrome-stable build 114.0.5735.90, python3.9, uc 3.4.7, chromedriver 114.0.5735.16

My options are minimal at the following ....

options.add_argument("--user-data-dir='Google/Chrome/user/data'")
options.add_argument('--profile-directory=Default')
options.add_argument("--incognito")
options.add_argument("--window-size=1550,1000")
options.add_argument("--disable-extensions")
options.add_argument("--disable-application-cache")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
options.add_argument("--disable-setuid-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--headless=new")

Xvfb stuff is not needed for me.

chromedriver seems to be very sensitive to /tmp. Check your env! Ensure /tmp is mounted correctly. Ensure your user can write.

@juanfradb
Copy link

juanfradb commented Jun 6, 2023

Tried all but nothing

@lakshmipathyoutseer
Copy link

chrome_options.add_argument('--headless=new')
Its work like charm thanks man

@HamiguaLu
Copy link

I think it's some file broken in the profile dir, in my case, I compared the profile dir with another working one, then found there is a file named "Preferences" took 2.3GB, I deleted the file and Chrome can start now

@liuzhioic
Copy link

I think it's some file broken in the profile dir, in my case, I compared the profile dir with another working one, then found there is a file named "Preferences" took 2.3GB, I deleted the file and Chrome can start now

Yes!Yes, it works! Love You!

@asimptot
Copy link

I think it's some file broken in the profile dir, in my case, I compared the profile dir with another working one, then found there is a file named "Preferences" took 2.3GB, I deleted the file and Chrome can start now

how could we find this file? Could you give some details, please?

@HamiguaLu
Copy link

Hi, in my case, delete ProfileDir\Default\Preferences file fixed the issue
I suggest after it works, backup the whole profile folder so later on you can recover

@alexliu0809
Copy link

I was running multiple instances of UC. Besides using some of the fixes mentioned above, adding some wait time before launching each instance also helped.

@Laishiji
Copy link

I think it's some file broken in the profile dir, in my case, I compared the profile dir with another working one, then found there is a file named "Preferences" took 2.3GB, I deleted the file and Chrome can start now

Thank you. It works!!!!!👏

@HerreraCarlos81
Copy link

Could not find the ProfileDir folder. What am I missing here? 😑

@freemedom
Copy link

Could not find the ProfileDir folder. What am I missing here? 😑

--user-data-dir= must use this option can have custom ProfileDir. @HerreraCarlos81

@Autolocsia
Copy link

2023 ends --user-data-dir= still not working

@kenniky
Copy link

kenniky commented Nov 6, 2023

Having the same issue with a test script I wrote:

import undetected_chromedriver as uc

options = uc.ChromeOptions()

user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'

options = uc.ChromeOptions()
options.add_argument('--headless')
options.add_argument('window-size=1400,1500')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('start-maximized')
options.add_argument('enable-automation')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--remote-debugging-port=9222')
options.add_argument('--user-data-dir=/home/ubuntu/chrome_profiles')

driver = uc.Chrome(options=options, version_main=110)

driver.get('https://nowsecure.nl')
driver.save_screenshot('screen.png')

a bunch of the options are there because I've found they've been needed in the past on regular chrome

@diroots
Copy link

diroots commented Nov 22, 2023

2. The problem is with "SingletonLock" file, which you can find in the root of user profile folder. Just delete this file before starting Chrome and `Message: unknown error: cannot connect to chrome at 127.0.0.1:56401 from chrome not reachable` will never show again.

as of today with chrome 119 and latest 3.5.4 undetected_chromedriver, i got same problem when trying to launch chrome with options.add_argument('--user-data-dir=/path/to/my/profile') and i could see 3 Singleton*** files in the root of my profile : SingletonLock, SingletonSocket,SingletonCookie. these being symlinks, and even broken symlinks. removing them and restarting with my default options, i could reuse as expected.

@hashtafak
Copy link

I think it's some file broken in the profile dir, in my case, I compared the profile dir with another working one, then found there is a file named "Preferences" took 2.3GB, I deleted the file and Chrome can start now

Ha! Related to #1362 and some threads I've found on Stackoverflow. After running the same profile dir over time. Py.exe process eats the RAM from 2-5GB because of this file "Preferences".

image

@anilabhadatta
Copy link

@s-o-f great solution, this fixed my code... I was trying to create headless which was failing due to this but in non headless it was working. I was facing this issue in linux

@anilabhadatta
Copy link

https://github.com/anilabhadatta/educative.io_scraper/blob/v3-master/src/Utility/BrowserUtility.py
the implementation that I used to spawn Chrome/ Chromedriver and close it is working for me
To close the process:
asyncio.get_event_loop().run_until_complete(browserUtil.shutdownChromeViaWebsocket())

@iohansson
Copy link

for those who are running headful Chrome on a server, check that you have Xvfb running.
I had the same issue trying to run my script with Docker, looked into the undetected_chromedriver docker image entrypoint and found the following among the lines

#!/bin/bash

function keepUpScreen()
{
    echo "running keepUpScreen()"
    while true; do
        sleep 1
        if [ -z "$(pidof -x Xvfb)" ]; then
            Xvfb $DISPLAY -screen $DISPLAY 1920x1080x16 &
        fi
    done
}

export DISPLAY=:1
rm -f /tmp/.X1-lock &>/dev/null
keepUpScreen &
echo "running: $@"
exec $@

So I've created an entrypoint with this, and that solved my issue.

@johnwhelchel
Copy link

This is not documented anywhere, but I've recently found that if you don't call driver.quit(), the temp directory used for a user directory is not cleaned up. It's quite confusing, because using the driver as a context manager should implicitly clean up resources, but it doesn't (based on implementation of exit #1614).

This seems to have fixed the issue for me.

@victorbjafet
Copy link

Found a solution for the problem. forget about all the extra arguments and updates/ etc.

If you are using the DIR folder that currently has a browser profile open. it will not work. you have to close everything first and then run it. That was the workaround for it for me.

@kSinghParth @wundergeu @Habidis

thank you so much, this worked for me. make sure that you check your task manager/windows tray to see if chrome is running in the background, which was my case

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests