jsbrs125
@jsbrs125 (な は)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

seleniumでchromedriverが動かせなくなりました

解決したいこと

今まで正常に動いていましたが、128.0.6613.86に自動アップデートしてから、エラーが出るようになりました。

発生している問題・エラー

selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable may have wrong permissions.

自分で試したこと

権限付与されていないとのことでしたが、ls -lで確認したら、権限付与されていそうでした。

drwxr-xr-x  4 hoge  staff  128  7 29 17:29 hoge
drwxr-xr-x  8 hoge  staff  256  9  1 12:37 hogehoge

126の時は問題なく稼働していて、127にアップデートされてからは126にダウングレードして使っていました。
128になってから、126にダウングレードしても使えなくなりました。

他の解消方法は見当たらず、質問に至りました。
何卒、よろしくお願いいたします。

0

2Answer

ls -lで確認したら、権限付与されていそうでした。

hoge ではなくて chromedriver 自体の権限は確認しましたか?

0Like

Comments

  1. @jsbrs125

    Questioner

    ご回答ありがとうございます。
    失礼いたしました。

    確認したところ、
    (.venv) hoge@hoge-no-MacBook-Pro chromedriver-mac-x64 % ls -l
    total 38144
    -rw-r--r-- 1 hoge staff 1536 9 2 14:15 LICENSE.chromedriver
    -rwxr-xr-x 1 hoge staff 460886 9 2 14:15 THIRD_PARTY_NOTICES.chromedriver
    -rwxr-xr-x@ 1 hoge staff 19062720 9 2 14:15 chromedriver

    となっていたのですが、権限付与はされていないのでしょうか?

  2. -rwxr-xr-x@ この @ はファイルになんらかの拡張属性がついていることを表しています。これが com.apple.quarantine 属性である可能性があります。(ネットからダウンロードした実行ファイルに macOS が自動でつける属性で、ユーザーが許可するまでファイルを実行できなくなります。)

    chromedriver があるディレクトリで以下のコマンドを実行して com.apple.quarantine 属性を除去した後、 Selenium が動くか試してください。

    xattr -d com.apple.quarantine chromedriver
    
  3. @jsbrs125

    Questioner

    ありがとうございあす!お陰様で、動きました!

  4. @jsbrs125

    Questioner

    繰り返し申し訳ございません。
    動いたと思ったのですが、
    selenium.common.exceptions.SessionNotCreatedException: Message: session not created: DevToolsActivePort file doesn't exist
    とエラーが出てしまっておりました。
    chromeの再インストール、optionを外してみましたが、変わらずです。

    pgrep -l chrome
    を実行すると、
    25774 chrome_crashpad
    26015 chrome_crashpad
    92420 chrome_crashpad
    と出て、クラッシュしていそうですが、chromeの再インストールをしても治らず、他に対処方法をご存知であれば、教えていただけますでしょうか。

Comments

  1. @jsbrs125

    Questioner

    ご回答ありがとうございます。

    ChromeDriverManager().install()
    にて、入れました。
    よろしくお願いいたします。

Your answer might help someone💌