我正在尝试在此网站的搜索框中使用selenium: https://www.claytoncountyga.gov/government/sheriff/inmate-search
def clayton_search(last, first, middle):
print("Clayton County Jail")
url = "https://www.claytoncountyga.gov/government/sheriff/inmate-search"
driver = webdriver.Chrome(chrome_options=(), executable_path="/usr/bin/chromedriver")
driver.get(url)
wait = WebDriverWait(driver, 30)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#name")))
driver.find_element_by_css_selector("#name").send_keys(last," ",first, " ", middle, Keys.ENTER)
return driver
driver = clayton_search(last, first, middle)
这个站点使用angularJS,我知道在angularJS站点上selenium不会看到see元素,除非你告诉它等到元素可见。例如:
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#name")))
但我得到一个超时异常。我试着通过CSS选择器、XPATH和ID查找元素
即使堆栈跟踪没有表明它可能隐藏在另一个元素后面。我也试过用:driver.execute_script
我想导航栏的弹出菜单可能会覆盖它,但它只有在光标位于导航栏上时才会出现。你知道吗
为什么我不能使用wait.until(EC.visibility_of_element_located
来定位这个AngularJS站点上的元素?你知道吗
此页在
iframe
中有#name
,而Selenium
不在iframe
中搜索。您必须先
switch_to.frame()
,然后才能在iframe
内搜索有一个iframe阻止您访问元素。你呢必须切换iframe首先,试试看以下代码。你知道吗
相关问题 更多 >
编程相关推荐