我在Selenium中使用以下javascript运行getEval:
document.getElementById("j_id0:j_id3:mainBlock:j_id40").children[0].children[0].children[0].children[0].children[0].children[0] .children[2].children[0].children[0].children[0] .children[0].children[1];
当我在控制台中运行代码时,它会返回正确的结果。
当我导航到我需要找到的元素所在的页面并单击Selenium中的“查找”按钮时,它会找到并突出显示正确的元素。然而,当我实际在Selenium中运行该行时 - 即使我导航到正确的页面并仅运行该行 - 我收到一条消息说
[error]Threw an exception: document.getElementById(...)is null
如何正常使用?
答案 0 :(得分:2)
在你的实际JS开始尝试之前,只需要包含 this.browserbot.getUserWindow()。
selenium.getEval("this.browserbot.getUserWindow().document.getElementById("j_id0:j_id3:mainBlock:j_id40").children[0].children[0].children[0].children[0].children[0].children[0] .children[2].children[0].children[0].children[0] .children[0].children[1]")