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
我试图让程序在特定 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