如何循环搜索结果的所有页面,为每个搜索结果选择href,使用python和selenium刮取数据
我正在抓取一个网站,在那里我需要从下拉列表中选择一个值。然后我需要点击搜索按钮。然后用多页搜索结果填充一个表。对于每个我想点击的结果,它会重定向到另一个页面,从中提取数据。然后返回并对其他搜索结果执行相同的操作如何循环搜索结果的所有页面,为每个搜索结果选择href,使用python和selenium刮取数据,python,selenium,web-scraping,Python,Selenium,Web Scraping,我正在抓取一个网站,在那里我需要从下拉列表中选择一个值。然后我需要点击搜索按钮。然后用多页搜索结果填充一个表。对于每个我想点击的结果,它会重定向到另一个页面,从中提取数据。然后返回并对其他搜索结果执行相同的操作 select = Select(browser.find_element_by_id("dropdown id here")) options = select.options for index in range(0,len(options)): selec
select = Select(browser.find_element_by_id("dropdown id here"))
options = select.options
for index in range(0,len(options)):
select.select_by_index(index)
browser.find_element_by_id("checkbox").click()
time.sleep(5)
browser.find_element_by_id("click on search").click()
elems = browser.find_elements_by_xpath("need to enter all href for search results")
time.sleep(5)
for elem in elems:
#Need to enter each search result's href scrape within data and get back to search results again##
elem.get_attribute("href")
elem.click()
browser.find_element_by_id("for going back to search page again").click()
我在尝试迭代时遇到这个错误
StaleElementReferenceException:消息:stale元素引用:元素未附加到页面文档
(会话信息:chrome=87.0.4280.88)如果要打开新窗口,可能需要在新打开的窗口/选项卡和原始窗口/选项卡之间切换焦点 切换到新打开的窗口
windows=browser.window\u句柄
浏览器.切换到.窗口(windows[-1])
在新页面上找到所需内容后关闭新打开的窗口,然后切换回上一个窗口
browser.close()
windows=browser.window\u句柄
浏览器.切换到.窗口(windows[-1])
当元素因过时而无法找到时,会出现此问题
尝试将find elemenet逻辑放入for循环中,这将解决您的问题
elems = browser.find_elements_by_xpath((xpath)[i])
length = elems.size();
用数字运行您的逻辑
for (int i=0;i<length; i++)
#Need to enter each search result's href scrape within data and get back to search results again##
elems = browser.find_elements_by_xpath("need to enter all href for search results"[i])
elem.get_attribute("href")
elem.click()
time.sleep(1)
for(int i=0;i当我点击搜索结果时,它不会打开一个新窗口。它会在同一页上重定向。无法将屏幕快照的图片粘贴到imgur上,并在此处共享链接。当我为元素声明“i”时,就像你一样,它无法找到元素do like((xpath)[i])因此,您的xpath每次都是动态的,并且如果您可以接受这个答案,如果它对您有效,您是否检查了中的错误代码含义?