【问题标题】:Python - Selenium get stuckPython - Selenium 卡住了
【发布时间】:2020-05-10 23:22:11
【问题描述】:

我正在尝试在 python 中创建一个脚本,该脚本将从我要求的网站下载所有文件。我是 Selenium 的新手,所以我不确定是否有问题。

for link in thredds_links:
    current_ind += 1
    print("LINK: ", current_ind, len(thredds_links))
    driver.get(link)
    data = driver.find_elements_by_partial_link_text(".nc")
    data_link = [l.get_attribute('href') for l in data]

    current_ind_2 = 0
    for d in data_link:
        current_ind_2 += 1
        print("LINK_2: ", current_ind_2, len(data_link))

        # link_d = d.get_attribute('href')
        driver.get(d)

        download_link = driver.find_element_by_link_text("HTTPServer").get_attribute('href')
        driver.get(download_link)

        driver.find_element_by_class_name("custom-combobox-input").send_keys("USER_NAME")
        driver.find_element_by_id("SubmitButton").click()
        driver.find_element_by_id("password").send_keys("SOME_PASSWORD")
        driver.find_element_by_class_name("button").click()

在第一个 for 循环中,我有 10 个链接,每个链接包含另外 10-14 个要下载到第二个 for 循环的文件。但是由于某种原因,Firefox 会卡在第二个 for 循环的第二个链接上,即使我正确地拥有了该列表中的所有链接,它也会在一段时间后因超时而崩溃。

【问题讨论】:

  • 作为建议尝试在 driver.get 行之后添加“time.sleep(2)”,看看是否有任何区别。我很久以前就遇到过这个问题,并且在睡眠中一切正常

标签: python selenium selenium-webdriver selenium-firefoxdriver


【解决方案1】:

我有一个非常相似的脚本,它从一个链接下载多个 pdf,然后转到下一个,我遇到了同样的问题....我在最后通过循环一个 range(len(iterable)) 来修复它所以在你的情况下,我认为它会是

for d in range(len(data_link)):

试一试....库达

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 2022-10-18
    相关资源
    最近更新 更多