即使我正在使用try和except方法,也无法避免ElementNotVisibleException

时间:2019-06-14 08:49:40

标签: python selenium selenium-chromedriver

我想使用硒从网站上下载数百万个excel文件。我当前的代码尝试处理ElementNotVisibleException的问题,但是我的“尝试并除外”方法似乎不足够。

我已尝试实施“尝试并排除”解决方案,如果出现错误消息,我已指示Selenium等到“按钮”出现。

NaN

我希望代码可以下载所有文件(如果有的话),但是出现ElementNotVisibleException或ElementClickInterceptedException。

3 个答案:

答案 0 :(得分:1)

要确保元素不仅存在并且可见,而且可点击,并检查是否符合要求作为等待条件:

element = WebDriverWait(driver, 120).until(EC.element_to_be_clickable((By.ID, "exportExcel"))).click()

有关Python等待的更多信息,请参见here

答案 1 :(得分:0)

在对元素执行任何操作之前,请先检查其是否可见 这是示例代码:

wait = WebDriverWait(self.browser, 15)
wait.until(EC.visibility_of_element_located(("element_path")))
driver.find_element_by_xpath("element_path").click()

答案 2 :(得分:0)

您可能会得到这些异常,因为它们发生在except子句中而不是try内。请查看回溯以确定哪一行引发了异常。这应该告诉您问题出在哪里。 另外,如果要等待元素可见,则应使用visibility_of_element_located而不是presence_of_element_located