質問内容
Pythonにてブラウザから要素を取得したいのですが、以下の様なエラーが発生します。
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[name="txtUser"]"}
取得時のPGは以下としております。(nameだけではなく、xpathで取得しても同様にエラーになります。)
searchElement = driver.find_element_by_name("txtUser")
取得対象の要素はHTML上、以下となっております。
<input type="text" name="txtUser" value="">
対象のサイトは2フレーム構成の様で、それが原因ではないかと考えており、以下のPGでページソースの取得は実施しました。
取得したい要素は「Login.asp」内にあります。
この場合、フレームの指定なるものをすればよいのでしょうか?
それともほかの取得方法があるのでしょうか?
初心者のため、ご教授頂けると助かります。
★プログラム
from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time driver = webdriver.Chrome(executable_path='C:\Program Files\chromedriver\chromedriver.exe') driver.get("http://aaa/bbb/ccc.asp") time.sleep(3) print(driver.page_source)
★結果
<html><head> <meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <title>Title</title> </head> <frameset rows="52,*" border="1"> <frame src="Title.asp" marginwidth="20" marginheight="1"> <frame src="Login.asp"> </frameset>