如何使用 Selenium 在 JavaScript 网站上查找元素?
How to find elements on a JavaScript Website with Selenium?
我想为自己自动搜索一些东西,但我在这里遇到了一些问题。
在这个网站上:
程序找不到搜索栏,我也不知道为什么。
driver = webdriver.Firefox()
driver.get('https://shop.orgatop.de/')
input_search = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="solrSearchTerm"]')))
input_search.click()
input_search.send_keys('asd')
input_search.send_keys(Keys.RETURN)
该元素存在于嵌套 iframe 中,如 innerFrame>catalog>content>input
。您需要先切换这些框架才能访问输入搜索框。
诱导 WebDriverWait
() 和 frame_to_be_available_and_switch_to_it
()
driver = webdriver.Firefox()
driver.get('https://shop.orgatop.de/')
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,"innerFrame")))
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,"catalog")))
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,"content")))
input_search = WebDriverWait(driver, 5).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="solrSearchTerm"]')))
input_search.click()
input_search.send_keys('asd')
input_search.send_keys(Keys.RETURN)
浏览器快照:
我想为自己自动搜索一些东西,但我在这里遇到了一些问题。 在这个网站上:
程序找不到搜索栏,我也不知道为什么。
driver = webdriver.Firefox()
driver.get('https://shop.orgatop.de/')
input_search = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="solrSearchTerm"]')))
input_search.click()
input_search.send_keys('asd')
input_search.send_keys(Keys.RETURN)
该元素存在于嵌套 iframe 中,如 innerFrame>catalog>content>input
。您需要先切换这些框架才能访问输入搜索框。
诱导 WebDriverWait
() 和 frame_to_be_available_and_switch_to_it
()
driver = webdriver.Firefox()
driver.get('https://shop.orgatop.de/')
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,"innerFrame")))
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,"catalog")))
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,"content")))
input_search = WebDriverWait(driver, 5).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="solrSearchTerm"]')))
input_search.click()
input_search.send_keys('asd')
input_search.send_keys(Keys.RETURN)
浏览器快照: