2017-03-07 49 views
2

我在Eclipse中使用Selenium JUnit運行測試腳本。現在,當我添加下面的JS代碼到我的Java文件,測試案例停止與錯誤「selenium.JavascriptException:類型錯誤:document.querySelector(...)爲空
腳本在FireFox控制檯工作正常。
我是JavaScript新手,如果有人能幫助我解決這個問題,我將不勝感激。JavaScript代碼在FireFox控制檯中完美運行,不在Eclipse中

 if (driver instanceof JavascriptExecutor) { 
     ((JavascriptExecutor)driver).executeScript("" 
       + "some other code that works fine" 
       + "var rtxt= document.querySelector('#CSS__RichHtmlField_displayContent');" 
       + "rtxt.textContent= '​JavaScript testScript to testCase';"); 

    } else { 
       throw new IllegalStateException("This driver does not support JavaScript!"); 
    } 

回答

0

在運行腳本和檢查值之前,Firefox可能會等待加載頁面和信息。在Java實現中,我認爲在檢查值之前你需要等待,否則你會得到錯誤,因爲這些東西不存在/尚未加載。

http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp

+1

現在,它的工作原理!我在js腳本之間添加了Java等待命令(隱式和顯式),它工作正常!當我使用js延遲時,不知道爲什麼它不起作用。 – AlanD

相關問題