我正在尝试使用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()
答案 0 :(得分:1)
此错误消息...
An error has occured in 'site url': Uncaught TypeError: Cannot read property 'getColomnSet' of undefined
...表示您的程序尝试下载所需文件时,无法读取属性 getColomnSet 。
可能的主要问题是,在客户端完全呈现HTML DOM之前调用了js
来下载文档。
相关的 HTML ,您之前的代码行和错误堆栈跟踪中的更多内容可以使我们对怎么了。
(By.ID,'element_1_id')
进行交互,因此可能可以删除元素presence_of_element_located()
的{{1}}步骤。(By.ID,'element_1_id')
,请捕获异常并启动所需的步骤。presence_of_element_located((By.ID,'element_1_id'))
并继续调用move_to_element()
时,您需要诱导 WebDriverWait expected_conditions为element_to_be_clickable(locator)
答案 1 :(得分:0)
尝试以下操作-在Salesforce Lightning UI屏幕上可以使用:
WebElement element = driver.findElement(By.id("your ID"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);