簡體   English   中英

Selenium IDE-TypeError:document.getElementById(..)為空

[英]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中工作,我怎么做錯了?

  • 不,沒有iframe

預先感謝您的答復! :)

這表示當您調用document.getElementById()時,頁面尚未完全加載。 您需要將代碼包裝在window.addEventListener("load", function() { ... }); 使它工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM