我正在使用Selenium的Python绑定进行快速抓取工作,但发现无论出于何种原因,Firefox WebDriver经过九次迭代后变得无法响应。
基本操作包括加载页面,从所有50个下拉菜单中选择状态,单击结果页面,然后返回以选择其他状态。无论我在状态列表中的哪个位置开始,在迭代了9个页面之后,Firefox WebDriver都会变得没有响应,但不会抛出任何错误。
以下问题代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
def set_up(url):
driver = webdriver.Firefox()
driver.get(url)
return(driver)
def search(driver):
for i in range(1, 49):
element = driver.find_element_by_id("StateList")
all_options = element.find_elements_by_tag_name("option")
print("Acquiring data for" + str(all_options[i].get_attribute("label")))
all_options[i].click()
driver.find_element_by_id("SearchButton").click()
#scrape page components here
driver.back()
url = 'http://www.example.com/'
driver = set_up(url)
search(driver)
有什么想法吗?