【问题标题】:An error has occured in 'site url': Uncaught TypeError: Cannot read property 'getColomnSet' of undefined with Selenium and Python“站点 url”中发生错误:未捕获的类型错误:无法使用 Selenium 和 Python 读取未定义的属性“getColomnSet”
【发布时间】:2026-01-30 15:00:02
【问题描述】:

我正在尝试使用 Selenium for 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()

【问题讨论】:

  • 发布回溯?

标签: javascript python selenium selenium-webdriver webdriver


【解决方案1】:

此错误消息...

An error has occured in 'site url': Uncaught TypeError: Cannot read property 'getColomnSet' of undefined

...暗示您的程序在尝试下载所需文件时无法读取属性getColomnSet

可能主要问题是在客户端完全渲染HTML DOM之前调用了下载文档所涉及的js

相关的HTML、更多的你之前的代码行错误堆栈跟踪会让我们对怎么了。

解决方案

  • 您可以采取一些措施等到完整的DOM Tree 在讨论之后呈现:
  • 几个事实:
    • 在您的代码试验中,我没有看到您与元素 (By.ID,'element_1_id') 进行交互,因此您可能可以删除元素 (By.ID,'element_1_id')presence_of_element_located() 步骤。
    • 如果您仍然需要presence_of_element_located((By.ID,'element_1_id')),请捕获异常并启动所需的步骤。
    • 当您通过 elem1elem2 调用 move_to_element() 并继续调用 perform() 时,您需要使用 expected_conditions 诱导 WebDriverWaitelement_to_be_clickable(locator)

tl;dr(参考)

【讨论】:

【解决方案2】:

尝试以下方法 - 它适用于 Salesforce Lightning UI 屏幕:

 WebElement element = driver.findElement(By.id("your ID"));
 JavascriptExecutor executor = (JavascriptExecutor)driver;
 executor.executeScript("arguments[0].click();", element);

【讨论】:

    最近更新 更多