————————————————————————— TypeError Traceback (most recent call last) Cell In[16], line 7 5 chrome_options = webdriver.ChromeOptions() 6 chrome_options.add_argument(‘–proxy-server=socks5://127.0.0.1:9150’) —-> 7 browser = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options) 9 # ウェブサイトにアクセス 10 browser.get(“https://example.com”) TypeError: WebDriver.__init__() got multiple values for argument ‘options’

エラーが再び発生してしまいました。これは、Chrome WebDriver Managerのinstall()メソッドがChrome WebDriverのパスを返すため、そのパスをwebdriver.Chrome()の第1引数として指定しているためです。

正しい方法は、Chrome WebDriver Managerを使用してChrome WebDriverのパスを取得し、そのパスをwebdriver.Chrome()の引数として渡すことです。その際、ChromeOptionsは別の引数として渡します。

以下は修正されたコードです:

python
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager # Chrome WebDriverのパスを取得 chrome_driver_path = ChromeDriverManager().install() # ChromeOptionsを設定 chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--proxy-server=socks5://127.0.0.1:9150') # Chrome WebDriverを初期化 browser = webdriver.Chrome(executable_path=chrome_driver_path, options=chrome_options) # ウェブサイトにアクセス browser.get("https://example.com") # ページのタイトルを表示 print(browser.title) # ブラウザを終了 browser.quit()

修正後のコードでは、Chrome WebDriver ManagerでChrome WebDriverのパスを取得し、そのパスをwebdriver.Chrome()executable_path引数として指定しています。また、ChromeOptionsは別の引数として渡しています。これにより、エラーが解消されるはずです。

未分類

Posted by ぼっち