[Python]SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape

趣味でPythonを始めてみました。
Seleniumでブラウザを操作しようとすると早速エラーが。。。

SyntaxError

SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape

エラーの出たコードはこちら。

from selenium import webdriver

url = "https://www.google.co.jp/"
driver_path = "C:\Users\hogehoge\chromedriver.exe"
driver = webdriver.Chrome(driver_path)
driver.get(url)

原因

原因は4行目の文字列です。
“C:\Users\hogehoge\chromedriver.exe”と指定していますが、
「\U」がエスケープシーケンスとして認識されてしまってるんですね。
「\U」の後ろは32ビットの16進数値と決まっているところをsers/hogehogeと16進数ではない文字が続いたため、
「間違ってますよ!」と教えてくれているわけです。

修正方法

じゃあどう修正すればよいかというと、文字列の前にrをつければよいです。
これで「\U」がエスケープシーケンスとして認識されなくなるため、
driver_pathに”C:\Users\hogehoge\chromedriver.exe”が代入されます。

コメント

タイトルとURLをコピーしました