0
이것은 웹 프로젝트에서 처음으로 웹을 긁어 내고 웹 사이트에서 몇 가지 옵션을 선택한 후 동적으로 일부 CSV 파일을 생성하기 위해 Python과 함께 selenium webdriver를 사용하고 있습니다. 아직 없습니다).click() webdriver 셀레늄 기능을 사용하는 경우 시간 초과 파이썬
그러나 실행이 버튼 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()
오류가 나는 얻을 :
Traceback (most recent call last):
File "/home/hissashi/Desktop/Python3/WS_SINAC/download_SINAC.py", line 22, in <module> driver.find_element_by_id('ctl00_ctl00_Conteudo_AntesTabela_btnExibir').click()
File "/home/hissashi/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "/home/hissashi/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py", line 501, in _execute
return self._parent.execute(command, params)
File "/home/hissashi/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 308, in execute
self.error_handler.check_response(response)
File "/home/hissashi/.local/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
**selenium.common.exceptions.TimeoutException: Message: Timeout loading page after 300000ms**
'filtro_uf.click()'이 페이지를로드합니까? –
일종의 "팝업 창"을로드하지만 첫 페이지가 그 뒤에 남아 있습니다. –
팝업 창에서 필터 옵션을 선택하고 "확인"버튼을 클릭하면 팝업이 닫히고 그 뒤에있는 기본 페이지가 다시 표시됩니다. 마지막 클릭()이 수행되어 데이터 테이블이 표시되지만 테이블이 완전히 생성 된 후에도 페이지는 계속로드되는 것처럼 보이지만 그렇지 않습니다. 로딩이 타임 아웃까지 계속되기 때문에 다음 반복은 시작되지 않습니다. –