我正在使用 Selenium 的 Python 绑定进行快速抓取工作,但发现无论出于何种原因,Firefox WebDriver 在恰好九次迭代后变得无响应。
基本操作包括加载一个页面,从所有 50 个下拉菜单中选择一个状态,点击进入结果页面,然后返回选择另一个状态。无论我从状态列表的哪个位置开始,在遍历九页之后,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)
有什么想法吗?