我正在尝试将Selenium用于Python,或者Chrome网络驱动程序来自动下载文件。
我的程序可以完美运行到最后一步(单击“下载”按钮),此时将触发一个带有文本的对话框:
“在’站点URL’中发生了一个错误:未捕获的TypeError:无法读取undefined41的属性’getColomnSet’
此错误是什么意思,最可能的原因是什么?
作为参考,这是我程序的最后几个命令:
try:
elem = wait.until(EC.presence_of_element_located((By.ID,'element_1_id')))
finally:
elem1 = driver.find_element_by_id('element_1_id')
elem2 = driver.find_element_by_id('element_2_id')
action = ActionChains(driver).move_to_element(elem1).move_to_element(elem2)
action.perform()
elem2.click()
此错误消息…
An error has occured in 'site url': Uncaught TypeError: Cannot read property 'getColomnSet' of undefined
…表示您的程序在尝试 下载 所需文件时无法读取属性 getColomnSet 。 __
可能的主要问题是js
在客户端完全呈现 HTML
DOM 之前涉及到下载文档的调用。
相关的 HTML ,您之前的几 行代码 和 错误堆栈跟踪 将使我们对出了什么问题有了更多的了解。
(By.ID,'element_1_id')
因此可能可以删除presence_of_element_located()
该元素的步骤(By.ID,'element_1_id')
。presence_of_element_located((By.ID,'element_1_id'))
捕获异常,请启动所需的步骤。move_to_element()
对 elem1 和 elem2 进行调用并继续进行调用时,perform()
您需要使用预期的条件来诱导 WebDriverWait ,如下所示: element_to_be_clickable(locator)