0

我正在使用 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)

有什么想法吗?

4

0 回答 0