我正在尝试制作一个小型 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();
}
}
问题是当我使用这个目标(我的大学门户网站)时,我得到 input.size() = 0; 虽然,我确信有(输入)tagName 的元素。此外,无论我使用 (By) 类的方法是什么,我都会得到相同的结果。
但是,当我将目标更改为任何链接时(例如:“http://www.google.com”或“http://www.facebook.com”,我会在输入 ArrayList 中获取元素(tagName 的所有元素) (输入)在目标 html 页面中)。任何人都可以告诉我问题是什么,我该如何解决?提前谢谢..