Selenium Python- IndexError:在遍历表时列出索引超出范围

时间:2017-08-02 15:20:25

标签: python html selenium

我得到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" 

1 个答案:

答案 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要么在你的除外条款中进行必要的清理。