我正在尝试选择此网站上的第一个搜索框: https://www.ris.bka.gv.at/Bundesrecht/
这是我的代码:
for ii in testList2:
varTitel = ii
searchBox = driver.find_element_by_id('MainContent_SuchworteField')
searchBox = driver.find_element_by_xpath('//*[@id="MainContent_SuchworteField"]/span')
searchBox = driver.find_element_by_name('MainContent_SuchworteField_Value')
searchBox.send_keys(varTitel)
searchBox.send_keys(Keys.ENTER)
time.sleep(1)
print("Query link: " + driver.current_url)
driver.back()
driver.quit()
如您所见,我尝试了三种选择搜索框的方法。我每次都得到NoSuchElement异常。
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"MainContent_SuchworteField"}
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="MainContent_SuchworteField"]/span"}
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"name","selector":"MainContent_SuchworteField_Value"}
我希望你能帮助我,
干杯
答案 0 :(得分:0)
我设法使用以下代码。我使用的是Chrome网络驱动程序,但我认为使用sleep并为页面提供更多的加载时间可能会为您完成。我道歉,我知道这不是你的代码的答案,但它确实显示xpath将工作。请注意xpath与你的略有不同。否则,我相信这里的某个人可能能够提供更好的答案。希望它有所帮助!
from selenium import webdriver
from time import sleep
browser = webdriver.Chrome()
browser.get('https://www.ris.bka.gv.at/Bundersrecht/')
sleep(5)
suchworte = browser.find_element_by_xpath('//*[@id="MainContent_SuchworteField_Value"]')
suchworte.send_keys('test')
答案 1 :(得分:0)
根据 HTML 的快照,您提供了用于标识字段旁边的<input>
字段,文字为 Suchworte ,您可以使用以下代码阻止:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("start-maximized")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\WebDrivers\ChromeDriver\chromedriver_win32\chromedriver.exe')
driver.get('https://www.ris.bka.gv.at/Bundesrecht/')
driver.find_element_by_xpath("//input[@id='MainContent_SuchworteField_Value']").send_keys("Sasa")
浏览器快照: