【发布时间】: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