这是我的第一个web抓取项目,我在Python中使用selenium webdriver,以便在网站上选择几个选项后动态生成一些csv文件(尽管我还没有到那里)。在
但是,当执行到达button click()时,我遇到了一个意外的超时。单击被执行,但它被卡在那里,直到超时才会继续执行。在
有什么线索可以解决这个问题吗?在
谢谢!!在
from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time
driver = webdriver.Firefox()
driver.get('http://www8.receita.fazenda.gov.br/SimplesNacional/Aplicacoes/ATBHE/estatisticasSinac.app/Default.aspx')
driver.find_element_by_id('ctl00_ctl00_Conteudo_AntesTabela_lnkOptantesPorCNAE').click()
Select(driver.find_element_by_id("ctl00_ctl00_Conteudo_AntesTabela_ddlColuna")).select_by_visible_text("Município")
filtro_uf = driver.find_element_by_id('ctl00_ctl00_Conteudo_AntesTabela_btnFiltros')
for i in range (1, 28):
filtro_uf.click()
uf = Select(driver.find_element_by_id("ctl00_ctl00_Conteudo_AposTabela_ddlUf"))
uf.options[i].click()
time.sleep(2)
driver.find_element_by_id('chkTodosMunicipios').click()
time.sleep(2)
driver.find_element_by_xpath("//*[contains(text(),'Ok')]").click()
time.sleep(2)
# Here is where my code get stuck and gets a timeout
driver.find_element_by_id('ctl00_ctl00_Conteudo_AntesTabela_btnExibir').click()
我得到了一个错误:
^{pr2}$
我找到了解决这个问题的办法。在
显然,click()函数会阻止代码,直到页面“完全”加载。但是,由于某些原因,页面一直在加载(没有其他东西可以加载),它保存我的代码,直到达到超时限制。在
我没有使用click,而是将其改为key ENTER,页面仍然会永远加载,但它不再保存代码。在
相关问题 更多 >
编程相关推荐