작은 자바 응용 프로그램을 만들려고합니다. 그게 내 대학 포털에 로그인 할 수 있습니다, 나는 다음과 같은 코드에서 셀레늄을 사용 :셀렌이 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 사용할 때 문제가; 그러나, 나는 (input) tagName을 가진 요소들이있을 것이라고 확신한다. 또한 나는 (내가 쓴) 수업의 방법이 무엇이든간에 똑같은 답을 얻는다.
그러나 대상을 임의의 링크 (예 : "http://www.google.com"또는 "http://www.facebook.com")로 변경하면 입력 요소 ArrayList (모든 요소 (대상 HTML 페이지에있는 tagName (입력)). 어떤 신체가 문제를 말해 줄 수 있고 어떻게 해결할 수 있습니까? 미리 감사드립니다.
작품을 시도, 그것은 한 HtmlUnitDriver가 이용되지 않는 한 잘 작동 – mohabh
... 대단히 감사합니다. 그것을 사용할 때 모든 요소에 입력 태그가 지정되지는 않습니다. 1 요소 만 가져오고 일부 다른 로케이터에 대해서는 HtmlUnitDriver를 사용할 때 요소가 없지만 ChromeDriver를 사용하여 요소를 가져옵니다. HtmlUnitDriver와 ChromeDriver 사이의 전환 드라이버에 차이가 있습니까? 당신의 도움과 시간에 정말 감사드립니다. – mohabh
바보처럼 보일지 모르지만 문제는 setJavascriptEnabled를 잊어 버렸기 때문입니다. 이제 해결되었습니다 :) – mohabh