Javascript 无法读取selenium中未定义的innerHTML元素是否已定义?

Javascript 无法读取selenium中未定义的innerHTML元素是否已定义?,javascript,html,python-3.x,selenium,selenium-chromedriver,Javascript,Html,Python 3.x,Selenium,Selenium Chromedriver,在使用Selenium和Chrome驱动程序执行python脚本的过程中,存在一个特殊问题,即驱动程序执行java脚本段,然后返回: 消息:未知错误:无法读取未定义的属性“innerHTML” 这是一部分: 函数getCommand(){ var MSGNUM=document.getElementsByClassName(“ChatBox”).length-1; var MSG=document.getElementsByClassName(“消息体”)[MSGNUM]; MSG=MSG.i

在使用Selenium和Chrome驱动程序执行python脚本的过程中,存在一个特殊问题,即驱动程序执行java脚本段,然后返回:

消息:未知错误:无法读取未定义的属性“innerHTML”

这是一部分:

函数getCommand(){ var MSGNUM=document.getElementsByClassName(“ChatBox”).length-1; var MSG=document.getElementsByClassName(“消息体”)[MSGNUM]; MSG=MSG.innerHTML; var NAME=document.getElementsByClassName(“用户名”)[MSGNUM]; NAME=NAME.innerHTML; var命令=(名称+“”+MSG); 返回(命令); } 返回getCommand()//将语句返回到python变量

查克·诺里斯
早上好

尝试等待一段时间,直到所需元素出现在DOM中。此外,我认为没有理由使用
execute\u script

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.common.by import By

chat_box = wait(driver, 10).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "ChatBox")))[-1]
message = chat_box.find_element_by_class_name("message-body").text
name = chat_box.find_element_by_class_name("username").text
print(name + " " + message)