Google Chromeの設定画面(chrome://settings/)をSeleniumを使用して
設定内容を変更していきたいと考えているのですが、どの要素を指定しても
selenium.common.exceptions.NoSuchElementExceptionが出現してしまいます。
https://www.sukerou.com/2021/09/python-selenium-google.html
こちらのサイトを参考にF12でデベロッパツールを開き、要素を確認し、
driver.find_elementで要素を取得してクリック操作をしたら想定通りの動きになることを確認できました。(参考サイト通り、find_element_by_nameを使用してname要素を指定したり、id指定したり、xpath指定したりしても同様の挙動になることを確認できております。)
上記で試したソースをもとに、Chromeの設定画面でブラウザ操作しようとしても
全てNoSuchElementExceptionが出現してしまいます。
find_elementsを代わりに使い要素内のデータを配列化して、print()で中身を確認したら
空の状態が出力されてしまいます。
NoSuchElementExceptionが出現する原因は
・find_element_by_*メソッドで検索をしている要素がそもそも存在していない。
・iframeが使用されている場合、find_elementを使用すると上記の例外がスローされる。
大きく分けてこの2つだと認識しております。
chromeの設定画面をあらためてF12で確認してみましたが、iflameが使用されているようには見えなかったですし、スペルミスもないように思います。(再三確認しました)
chromeドライバはchrome自体がversion upしてしまうと、versionが合わないとかで
エラーが出ることは認知しておりますので
https://yuki.world/python-selenium-chromedriver-auto-update/
こちらのサイトを参考に、Driverを自動更新するライブラリをインポートして盛り込んでますので
driverはインストールしてません。
正直私一人だけでは調べ尽きてしまい、解決策が全く見出せないので
ご存知の方はご教授いただけると幸いです。
よろしくお願いいたします。
ちなみにEdgeでも同様に設定画面をseleniumで操作するようにコーディングして動確したら
問題なく設定完了することができました。。
<環境>
Python 3.x
WIndows 10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。