

Python初心者です。  
インターネットで調べました「指定したurlへ遷移する」のサンプルコード

[code]

    from selenium import webdriver
    driver = webdriver.Chrome("C:/Desktop/chromedriver.exe")
    driver.get("https://www.yahoo.co.jp/")
    
[/code]

をIDLEで実行したところ以下の表示がでました。

[code]

    Traceback (most recent call last):
      File "C:\Users\kenny\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start
        self.process = subprocess.Popen(cmd, env=self.env,
      File "C:\Users\kenny\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 947, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "C:\Users\kenny\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1416, in _execute_child
        hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
    FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:/Users/kenny/Desktop/test.py", line 2, in <module>
        driver = webdriver.Chrome("C:/Desktop/chromedriver.exe")
      File "C:\Users\kenny\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
        self.service.start()
      File "C:\Users\kenny\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
        raise WebDriverException(
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
    
[/code]

また、以下のコードに書き直したところ、

[code]

    from selenium import webdriver
    driver = webdriver.Chrome
    driver.get("https://www.yahoo.co.jp/")
    
[/code]

今度は以下の表示がされました。

[code]

    Traceback (most recent call last):
      File "C:/Users/kenny/Desktop/test.py", line 3, in <module>
        driver.get("https://www.yahoo.co.jp/")
    TypeError: get() missing 1 required positional argument: 'url'
    
[/code]

selenium、Chromedriverはインストール済です。  
色々試しましたが、どうしてもうまくいかないので質問させていただきました。  
全くの初心者ですが宜しくお願い致します。


CC BY-SA 4.0
2021-02-15T02:45:41.030
74002
2022-08-12T12:04:00.537
2021-02-15T03:11:12.713
3060
43956
question
python windows selenium chromedriver
「指定したurlへ遷移する」のサンプルコードが実行できません


直接的な原因は、`driver = webdriver.Chrome`で後ろに`()`が付いていないことだと思われます。  
以下のようにしてみてください。

[code]

    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get("https://www.yahoo.co.jp/")
    
[/code]

* * *

ただし、今は更にその先で`Chrome`か`ChromeDriver`の版数の影響かもしれない別の問題が発生しているようです。  
Chromeの版数は88.0.4324.150  
ChromeDriverの版数は88.0.4324.96

こんなエラーが表示されます。

[code]

    >>> [4940:10520:0215/120439.701:ERROR:device_event_log_impl.cc(211)] [12:04:39.702] USB: usb_device_handle_win.cc:1049 Failed to read descriptor from node connection: システムに接続されたデバ イスが機能していません。 (0x1F)
    
[/code]

ChromeDriverの版数を１つ古い88.0.4324.27に変えても発生しました。  
Chromeの問題の可能性が高いですが、古い版数のインストーラを持っていないと対処が大変ですね。  
[Chrome
のバージョンをダウングレードする（Windows）](https://support.google.com/chrome/a/answer/7125792?hl=ja)

一応上記のエラーが出ても処理の継続は出来るようです。

@kenny2021jp
さんの環境でエラーが発生するかどうかは不明ですが、発生する場合はとりあえずエラーは無視して使い続けるか、修正されるまではこちらの記事を参考に`FireFox`と`geckodriver`で代替してみるとかでしょうか。  
[Windows 10 + Python3 + selenium + geckodriver で headless Firefox
を試してみる](https://qiita.com/tabizou/items/60e0d2cb0ef050f6193c)  
ちなみに現在の[geckodriverの最新版](https://github.com/mozilla/geckodriver/releases/tag/v0.29.0)は0.29.0です。

* * *

この記事によると Chrome v87 から発生していて Chrome v90 で直るそうです。  
[USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node
connection error with ChromeDriver v87 / Chrome v87 using Selenium on
Windows10](https://stackoverflow.com/q/65080685/9014308)

そのコメントに`chrome://flags`で`Enable new USB
backend`を有効にするとメッセージが出なくなったというのがありますが、試したところでは駄目で依然としてエラーメッセージは表示されます。(Chrome自身もcanary版にする必要があったのかもしれませんが、それはしていません)

日本語ではこんな記事もあります。無視しても動いているようですね。  
[seleniumでのログイン自動化のエラー【ERROR:device_event_log_impl.cc(211)】](https://teratail.com/questions/310277)  
[【Python初心者】PythonとSeleniumで、Chromeを使用しAmazonログインページから自動ログイン](https://laboratory.kazuuu.net/python-
selenium-amazon-login-automatic-operation/)  
[Seleniumを使用しPythonでWebページのタイトルを取得する](https://laboratory.kazuuu.net/get-web-
page-titles-in-python-using-selenium/)


CC BY-SA 4.0
2021-02-15T03:09:10.167
74005
2021-02-15T07:07:57.157
2021-02-15T07:07:57.157
26370
26370
74002
answer