selenium.common.exceptions.JavascriptException: Message: TypeError: document.getElementsByClassName(...)[0] is undefined

selenium.common.exceptions.JavascriptException: Message: TypeError: document.getElementsByClassName(...)[0] is undefined

我试图让程序在特定 div 中滚动以加载其中包含的所有需要​​的元素。据我所知,JavaScript 代码是正确的,但它一直给我这个错误:

selenium.common.exceptions.JavascriptException: Message: TypeError: document.getElementsByClassName(...)[0] is undefined

这是错误所指的行:

bot.execute_script("document.getElementsByClassName('uiScrollableAreaBody')[0].scrollTo(0,1000)")

似乎是脚本试图在元素加载到页面之前获取该元素。尝试使用显式等待或 time.sleep(x)(我个人更喜欢第一种方法,这样您的脚本就不会停止 x 秒。

这是伪代码。

element = WebDriverWait(driver,30).until(lambda x: x.execute_script("return document.getElementsByClassName('uiScrollableAreaBody')[0]"))
# now you can perform operation on the element