前提・実現したいこと
ルーターを自動再起動させるコードを書いています。ルーターのログイン画面にログインして、再起動ボタンがあるページまで遷移できるのですが、再起動のボタンを押すことができません。IDは合ってると思うのですが、なぜUnable to locate elementと言われるのでしょうか。
実現したいことは再起動ボタンを押すことです。
発生している問題・エラーメッセージ
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="id_rebootBtn"]"} (Session info: chrome=88.0.4324.192)
該当のソースコード
import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get('ルーターの管理画面URL') WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.NAME, "nosave_Password"))) # ログインパスワードを入力 password = driver.find_element_by_id('id_nosave_Password') password.send_keys ( "ログインパスワード") # ログインボタンをクリック login_btn = driver.find_element_by_id("id_login") login_btn.click() time.sleep(2) # 管理画面の詳細設定のボタンをクリック advanced_setting = driver.find_element_by_id("panel_ADVANCED") advanced_setting.click() time.sleep(5) # 管理タブを押す goto_restart1 = driver.find_element_by_id("AT_ADMIN") goto_restart1.click() # 設定管理/再起動タブを押す goto_restart2 = driver.find_element_by_id("sub_meu6_2") goto_restart2.click() # 再起動ボタンを押す press_restart = driver.find_element_by_id("id_rebootBtn") press_restart.click()
試したこと
再起動ボタンを押すコードをXpathにしてみましたが失敗
再起動ボタンを押すコードを下記のように変えてみましたが失敗
driver.find_element_by_id("id_rebootBtn").send_keys(webdriver.Keys.RETURN);
補足情報(FW/ツールのバージョンなど)
HTMLソース
<input type="submit" value="再起動" id="id_rebootBtn">
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/01 11:21