我想使用硒从网站上下载数百万个excel文件。我当前的代码尝试处理ElementNotVisibleException的问题,但是我的“尝试并除外”方法似乎不足够。
我已尝试实施“尝试并排除”解决方案,如果出现错误消息,我已指示Selenium等到“按钮”出现。
NaN
我希望代码可以下载所有文件(如果有的话),但是出现ElementNotVisibleException或ElementClickInterceptedException。
答案 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