我得到IndexError:列表索引在迭代html表时超出范围,但我不确定是什么导致它。下面是我编写的迭代表格的函数。在每次迭代中,它执行一次点击(一页网页)并下载文件(在另一帧中)。该表有20行。当网页正确加载时,它工作正常。但是一旦网页挂起(即发生下载的框架),我的代码就会进入超时异常并到达代码的顶部。在那之后,我在行#34; employeeList [j] .click()"上获得了索引错误。在调试时,我发现前一行employeeList返回一个空列表。有人可以解释导致此问题的原因。
(SELECT TOP 1 J.observacao " +
" FROM tblPendenciaHistorico J " +
" INNER JOIN tblPendenciaPendenciaHistorico JH " +
" ON J.historicoId = JH.pendenciaHistoricoId " +
" WHERE JH.pendenciaId = P.pendenciaId " +
" ORDER BY J.data DESC) AS historicoStatus"
答案 0 :(得分:0)
driver.find_elements_by_xpath("//td[7]/div/div[1]/a")
在TimeoutException
之后失败,因为由于您处理异常的方式而导致某些行被跳过。
for循环的最后一行将驱动程序设置回xpath工作的原始帧driver.switch_to.frame(0)
。如果有异常,则在except子句中执行continue
并跳过for循环的最后一行。要么不要continue
要么在你的除外条款中进行必要的清理。