[英]Selenium IDE - TypeError: document.getElementById(..) is null
情況是,我想使用“ runScript”以便在打開網站時開始發送xmlhttprequest,在responseText中找到一個元素,查看是否存在特定的textcontent,如果存在,我要單擊該元素。
我不允許向您顯示網站的來源,但希望您仍然能夠(也許)發現錯誤。
我的劇本:
javascript{
var req = new XMLHttpRequest();
req.addEventListener("load", function(event) {
if(req.status >= 200 && req.status < 300)
{
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(req.responseText, "text/html");
if(document.getElementById("application_widgets__0_selectedUserLanguage_label").childNodes[0].textContent=="English")
{
document.getElementById("application_widgets__0_selectedUserLanguage_label").parentNode.click()
}
}
});
req.open("GET", "..............................");
req.send();
}
在將它放入Selenium IDE之前,我已經在firebug控制台中對其進行了測試,並且效果很好。 但是在Selenium IDE中運行它時,總是會遇到相同的異常:
我的問題是:為什么它只能在Firebug中工作,而不能在Selenium IDE中工作,我怎么做錯了?
預先感謝您的答復! :)
這表示當您調用document.getElementById()
時,頁面尚未完全加載。 您需要將代碼包裝在window.addEventListener("load", function() { ... });
使它工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.