困っていること
google chromeとseleniumを使って、あるサイトをスクレイピングをしようとしています。そのサイトにログインして、飛んだ先でタブ(or画像みたいなもの?)をクリックしようとしたのですが、xpathをcopyしても、押して欲しいタグを押すような動作をしてくれません。
私がトライしたこと、考えたこと
他のボタンやタブは以下のような命令でクリックしてくれるのですが。
driver.find_element_by_xpath('...').click()
良くサイトを見ると、分割されており、私が押したいタブはログインして飛んだ先とは違うエリアに設置されており、それが原因かなとも思っています。
教えていたただきたいこと
もしこれが原因だとすれば、ログインして飛んだ先とは違うエリアに設置されているようなタブはどうすれば自動でクリックできるようになるのでしょうか?
どなたか詳しい方がいらっしゃいましたら、教えてください。
サイトの外観
実行時に返ってきたエラー
タブ(or画像)みたいなものを押せずに数十秒待っていると以下のようなエラーが返ってきます。
Traceback (most recent call last): File "<ipython-input-483-91c479708b82>", line 16, in <module> driver.find_element_by_xpath("/html/body/table/tbody/tr/td/table/tbody/tr/td[9]/a").click() File "C:\Users...\AppData\Local\Continuum\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 394, in find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "C:\Users...\AppData\Local\Continuum\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 978, in find_element 'value': value})['value'] File "C:\Users...\AppData\Local\Continuum\anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute self.error_handler.check_response(response) File "C:\Users...\AppData\Local\Continuum\anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/table/tbody/tr/td/table/tbody/tr/td[9]/a"} (Session info: chrome=76.0.3809.132)
私が押したいタブ(or画像)の開発コード
ちなみに、chrome上で開発コードを覗くと、私が押したいタブ(or画像)の部分のコードは以下のようなものになっていました。
<a class="globalmenu" href="/ITS/frame/FraOpOrder.jsp;jgieww01=FVJ5drvDJPMpSQVXsBKwh3Jb6WCYS2gyDQbLbTYHMQhcX0y1cLtn!2113853286" target="_top" onclick="return linkCheck()"><b>項目A</b></a>
もし他に情報が必要であれば追記したいと思います。
厚かましいお願いですが、どうぞよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー