python seleniumで要素は見つかったのでクリックしたい
こんにちは。
python seleniumでhtml中の「<a href="/create.html" id="menu_edit">作る</a>」をクリックしたいです。
「driver.find_element_by_id('menu_edit').click()」でクリックさせたのですが、ページが切り替わりません。エラーはでないので、要素は見つかっているのだと思います。
リンクが「a href="/create.html」という相対パスなのが悪いのでしょうか?
driver.get('https://base.next-engine.org/users/sign_in/')とは異なるURLに移動しているのが原因で相対パスではページ移動できないのでしょうか?
対処方法を教えて頂ければと思います。
よろしくお願いします。
発生している問題・エラーメッセージ
エラーは発生していません。
該当のソースコード(html)
<div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <a class="logo" title="" href="/" target="_self" style="float: left;padding-right: 40px;"> <img alt="#" src="resource/img/NE_customDL_Hlogo.png" style="height:38px;"> </a> <a data-target=".navbar-responsive-collapse" data-toggle="collapse" class="btn btn-navbar"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> <div class="nav-collapse collapse navbar-responsive-collapse"> <ul class="nav"> <li class='active'> <a href="/top.html">トップ</a> </li> <li class=''> <a href="/download.html">ダウンロード・アップロード</a> </li> <li class=''> <a href="/create.html" id="menu_edit">作る</a> </li> <li class='dropdown' style=''> <a data-toggle="dropdown" class="dropdown-toggle"> 設定 <span class="caret"></span> </a> <ul class="dropdown-menu"> <li class=''> <a href="/setting_item_name.html">項目名の設定</a> </li> <li class=''> <a href="/setting_format.html">出力形式パターンの設定</a> </li> <li class=''> <a href="/setting_table.html">条件パターンの設定</a> </li> <li class=''> <a href="/setting_custom.html">オリジナル項目の設定</a> </li> </ul> </li> <li class=''> <a href="/history.html">履歴</a> </li> <li class=''> <a href="/setting_plan.html">料金プラン</a> </li> <li> <a href="#" target="_blank" id="manual_link">マニュアル</a> </li> </ul> </div> </div> </div>
試したこと(pythonコード)
from selenium import webdriver from time import sleep from selenium.common.exceptions import NoSuchElementException driver = webdriver.Chrome("chromedriver.exe") driver.get('https://base.****.org/users/sign_in/') elem_username = driver.find_element_by_id('user_login_code') elem_username.send_keys('*****') elem_password = driver.find_element_by_id('user_password') elem_password.send_keys('*****') driver.find_element_by_name('commit').click() driver.find_element_by_xpath('//*[@id="footer-app-launcher"]/div/div/div[2]/div/ul/li[8]').click() sleep(5) driver.switch_to.window(window_name=driver.window_handles[1]) driver.maximize_window() #≪要素があるかどうかの確認≫ try: element = driver.find_element_by_id('menu_edit') except NoSuchElementException: print("要素がありませんでした...") else: print("要素がありました。") sleep(5) driver.find_element_by_id('menu_edit').click()
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
Windows10
python3
jupyter notebook
回答1件
あなたの回答
tips
プレビュー