0
我正在嘗試製作一個小型的Java應用程序。可以登錄到我的大學門戶網站,我在下面的代碼中使用硒:Selenium無法找到HTML頁面中的任何元素
//some import statements
public class Portal{
public Portal(){
File file = new File("C:/chromedriver.exe");
System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());
HtmlUnitDriver driver = new HtmlUnitDriver();
String target = "http://portal.kfupm.edu.sa/cp/home/loginf";
driver.get(target);
ArrayList <WebElement> inputs = (ArrayList<WebElement>) driver.findElements(By.tagName("input"));
System.out.println(inputs.size());
for(WebElement input : inputs){
System.out.println(input.getAttribute("value") + " " + input.getAttribute("name"));
// to insure the link is displaying something
ChromeDriver driver1 = new ChromeDriver();
driver1.get(driver.getCurrentUrl());
}
public static void main(String [] args){
new Portal();
}
}
問題是,當我用這個目標(我的大學門戶)我得到inputs.size()= 0;雖然,我確定有(輸入)tagName的元素。無論我使用的(按)課程的方法如何,我也能得到同樣的結果。但是,當我將目標更改爲任何鏈接(例如:「http://www.google.com」或「http://www.facebook.com」)時,我會在輸入ArrayList中獲取元素(所有元素的標籤名稱(輸入)在目標html頁面中)。可以任何機構告訴我什麼是問題,我該如何解決它?在此先感謝..
作品,非常感謝你.. – mohabh
只要不使用HtmlUnitDriver它工作正常。當我使用它時,我沒有得到輸入標記的所有元素。我只得到1個元素,而對於其他一些定位器,當我使用HtmlUnitDriver時,我沒有得到任何元素,但是我使用ChromeDriver獲得了它們。在HtmlUnitDriver和ChromeDriver之間切換驅動程序有什麼不同。我非常感謝你的幫助和時間。 – mohabh
可能看起來很愚蠢,但問題是因爲我忘了將JavascriptEnabled設置爲true ..現在它解決了:) – mohabh