http://www.timesjobs.com/에 로그인하고 싶습니다. 로그인시 팝업이 표시됩니다 (css 라이트 박스). 이 로그인 상자에서 사용자 이름에 대한 정확한 xpath를 찾을 수 없습니다. 나는 각 프레임마다 반복했고 사용자 이름 텍스트 박스에 대해 xpath를 생성 한 firefox를 사용하려고 시도했다. 프레임에서 사용자 이름 텍스트 상자의 xpath를 웹 드라이브로 찾는 방법
org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//html/body//input[@name='j_username']"}.
코드하지만 행운 아래 시도 :
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS);
driver.get("http://www.timesjobs.com");
driver.findElement(By.linkText("Sign In")).click();
Thread.sleep(10000L);
List<WebElement> frames = driver.findElements(By.tagName("iframe"));
System.out.println("Total Frames: " + frames.size());
int k =0;
while(k<=frames.size()){
try{driver.switchTo().defaultContent();
driver.switchTo().frame(k);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebElement we1 = driver.findElement(By.xpath("//html/body//input[@name='j_username']"));
we1.sendKeys("[email protected]");
System.out.println("in try BLOCK:"+k);
}catch(Exception e){
e.printStackTrace();
System.out.println("in catch: "+k);
}finally{
k++;}
}
System.out.println("end of the program");
}
'input [@ name = 'j_username']'이 iframe에 있는지 확인하고 싶습니까? – olyv
@olyv, 예 ... 어쨌든 고마워요. 아래 답변을 얻었습니다. 입력 상자에 도달 할 프레임이 2 개 있습니다. – Pratik1990