小さなJavaアプリを作ろうとしています。大学のポータルにログインできるように、次のコードで Selenium を使用しました。
//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を持つ要素があると確信しています。また、使用した(By)クラスのメソッドが何であれ、同じ結果が得られます。
ただし、ターゲットを任意のリンク (たとえば、「http://www.google.com」または「http://www.facebook.com」) に変更すると、入力 ArrayList (tagName のすべての要素(入力) 対象の html ページにあるもの) 問題の内容と解決方法を教えてください。よろしくお願いします。