shine-jayakumar / insta-likecom-bot

Automates likes and comments on an instagram account or tag
MIT License
136 stars 29 forks source link

Cannot login - Chromedriver not found #79

Closed digitizesuccess closed 1 year ago

digitizesuccess commented 1 year ago

Just like the title says. It's been working for a few days with no issues. I used it 12 hours ago and it worked fine. Now I am getting a Chromedriver not found error after attempting the following script: /usr/local/bin/python3 /Users/xxx/insta-likecom-bot/ilcbot.py -u xxx -p xxx -t xxx -np 3 -nc -ff -mr --delay 2,20

The error is as follows:

[*] => Script started [*] => Downloading webdriver for your version of Chrome [*] => Loading Instagram [*] => Script ended with error [*] => Error: [ValueError] - There is no such driver by url https://chromedriver.storage.googleapis.com/115.0.5790/chromedriver_mac64.zip Traceback (most recent call last): File "/Users/xxx/insta-likecom-bot/ilcbot.py", line 49, in <module> insta = Insta( ^^^^^^ File "/Users/xxxx/insta-likecom-bot/modules/instafunc.py", line 132, in __init__ executable_path=ChromeDriverManager(path=os.path.join(self.driver_baseloc, 'chrome')).install(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/webdriver_manager/chrome.py", line 39, in install driver_path = self._get_driver_path(self.driver) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/webdriver_manager/core/manager.py", line 30, in _get_driver_path file = self._download_manager.download_file(driver.get_url()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/webdriver_manager/core/download_manager.py", line 28, in download_file response = self._http_client.get(url) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/webdriver_manager/core/http.py", line 33, in get self.validate_response(resp) File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/webdriver_manager/core/http.py", line 16, in validate_response raise ValueError(f"There is no such driver by url {resp.url}") ValueError: There is no such driver by url https://chromedriver.storage.googleapis.com/115.0.5790/chromedriver_mac64.zip [*] => Total time taken: 0.8177 seconds

jakkul commented 1 year ago

same issue here

jakkul commented 1 year ago

might be related to this https://stackoverflow.com/questions/76724939/there-is-no-such-driver-by-url-https-chromedriver-storage-googleapis-com-lates

digitizesuccess commented 1 year ago

agreed. I updated my Chromedriver via pip and now the error changed

[] => Script started [] => Downloading webdriver for your version of Chrome [] => Loading Instagram [] => Script ended with error [] => Error: [TypeError] - ChromeDriverManager.init() got an unexpected keyword argument 'path' Traceback (most recent call last): File "/Users/xxx/insta-likecom-bot/ilcbot.py", line 49, in insta = Insta( ^^^^^^ File "/Users/xxx/insta-likecom-bot/modules/instafunc.py", line 132, in init executable_path=ChromeDriverManager(path=os.path.join(self.driver_baseloc, 'chrome')).install(), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: ChromeDriverManager.init() got an unexpected keyword argument 'path' [] => Total time taken: 0.0064 seconds

shine-jayakumar commented 1 year ago

@digitizesuccess @jakkul The latest version for Chrome webdriver available is ChromeDriver 114.0.5735.90, i.e., chrome web driver for v.115 isn't listed on https://chromedriver.chromium.org/downloads.

However, you could download it from https://googlechromelabs.github.io/chrome-for-testing/#stable for your operating system, and follow these steps:

  1. Extract the compressed file and place the chromedriver to the same location as the script
  2. Edit line # 131 of modules/instafunc.py and change it to self.driver = webdriver.Chrome(executable_path='/path/of/the/chromedriver/', options=options)

This should be able to let the script use the chromedriver you just downloaded.

digitizesuccess commented 1 year ago

Thanks! its fixed. Make sure you download the version of Chrome for automated testing and put it in the same folder.