前提・実現したいこと
chrome driverとseleniumを使用して、tradingviewというサイトにログインをしようとしています。言語はPythonで書いています。
ステップとしては、
1,tradingviewのトップページをchromeで起動
2,右上のメニューボタンをクリック
3,メニューからサインインボタンをクリック
4,メールアドレスおよびパスワードを入力してログイン
がありますが、3番のサインインボタンをクリックすることができません。
URL : https://jp.tradingview.com/
発生している問題・エラーメッセージ
当該のサインインボタンのフルパスが「/html/body/div[6]/div[2]/span/div[1]/div/div/div/div[1]」であるため、
driver.find_element_by_xpath("/html/body/div[6]/div[2]/span/div[1]/div/div/div/div[1]").click()
でクリックしようとしていますが、
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:
と要素が見つからないというメッセージが出て失敗します。
該当のソースコード
python
1driver.find_element_by_xpath("/html/body/div[6]/div[2]/span/div[1]/div/div/div/div[1]").click() 2
試したこと
メニューボタンをクリックしてから次の処理までが早いと同様のエラーが出現するということだったので、time.sleep(10)等をいれて試してみましたが結果は変わらずでした。
補足情報
chromeの検証ツールにてクリックしようとしている要素のフルパスを検索してみましたが、トップページのみしか表示していない時は検索に引っかかりません。
しかし、メニューボタンをクリックし「サインイン」ボタンが出現した状態でフルパスを検索するとヒットすることから、このあたりが関係しているのではないかと思っています。
しかし、seleniumでメニューボタンをクリックしサインインボタンを出現させるとこまでは問題なく動作しているので、なぜ要素が見つからないのかが全く検討がつかない状態です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/05 10:20
2021/08/06 10:12