Reputation: 59
from selenium import webdriver
from time import sleep
from selenium.webdriver.chrome.options import Options
path = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(path)
options.add_argument("user-data-dir=C:\Users\Username\AppData\Local\Google\Chrome\User\Data")
driver = webdriver.Chrome(chrome_options=options)
sleep(1)
driver.get("https://web.whatsapp.com/")
I'm not sure what im doing wrong.
options.add_argument("user-data-dir=C:\Users\Username\AppData\Local\Google\Chrome\User\Data")
^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 16-17: truncated \UXXXXXXXX escape
if you can please help me i would appreciate it
Upvotes: 1
Views: 3708
Reputation: 1395
Place the chromedriver in the C: directory like so:
Change the following line of code:
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
Or
driver = webdriver.Chrome(executable_path=r'C:\Users\USERNAME\Desktop\FOLDER\chromedriver.exe')
If you want the chromedriver to load from a specify file path.
Upvotes: 0
Reputation: 193108
This error message...
options.add_argument("user-data-dir=C:\Users\Username\AppData\Local\Google\Chrome\User\Data")
^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 16-17: truncated \UXXXXXXXX
...implies that there is a decoding error in the line.
Ideally you need to replace the line:
options.add_argument("user-data-dir=C:\Users\Username\AppData\Local\Google\Chrome\User\Data")
With either of the following lines:
Using raw prefix i.e. r
and single quotes (i.e. '...'
):
options.add_argument(r'user-data-dir=C:\Users\Username\AppData\Local\Google\Chrome\User\Data')
Using double quotes (i.e. "..."
) and escaping backslash character (i.e. \
):
options.add_argument("user-data-dir=C:\\Users\\Username\\AppData\\Local\\Google\\Chrome\\User\\Data")
Using double quotes (i.e. "..."
) and forwardslash character (i.e. /
):
options.add_argument("user-data-dir=C:/Users/Username/AppData/Local/Google/Chrome/User/Data")
You can find a couple of relevant detailed discussions in:
Upvotes: 1
Reputation: 25
options = webdriver.ChromeOptions()
options.add_argument("--disable-notifications")
options.add_argument("disable-infobars")
#path to your browser
options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
#path to the binary files
chrome_driver_binary = r"/Users/name/Downloads/chromedriver"
driver = webdriver.Chrome(chrome_driver_binary, options=options)
driver.get(https://www.web.whatsapp.com)
``
Upvotes: 0
Reputation: 1
I think I can give you some ideas. Maybe it will help you. I would suggest to save the session by adding to chrome a start-option. For this you will need to add an option like --user-data-dir You can use code from a place like this. Here you will find everything you need! -Whatsapp with Selenium in Python: https://www.geeksforgeeks.org/whatsapp-using-python/. Before running your code close chrome, or else Selenium is going to reuse the browerser's current instance and you will not be able to run the option --user-data-dir . I hope this helps!
Upvotes: 0