2016-09-18 3 views
1

CSS 선택자를 사용하여 http://www.cartasi.it/gtwpages/index.jsp 링크에서 암호 필드 요소를 찾으려고합니다. . 다음은 다른 웹 사이트에서 사용한 코드입니다. 제공된 링크를 제외한 모든 웹 사이트에서 잘 작동합니다.Selenium - [링크] CSS 요소를 기반으로 암호 필드 요소를 찾을 수 없습니다. http://www.cartasi.it/gtwpages/index.jsp

pwd=driver.findElement(By.cssSelector("input[type='password']")) 

웹 사이트의 소스 코드를 확인했지만 코드에 type = "password"키워드가 없습니다. 전체 웹 사이트의 소스 코드를 게시하면 혼란이 생겨서 참조 할 링크가 생겼습니다. 이 암호를 숨길 수있는 원인은 무엇입니까? CSS 선택기를 사용하여 요소를 찾을 수 있습니까? 어떤 도움이 크게 해당 페이지에

+0

페이지를 열었으며 로그인 양식을 볼 수 없었습니다. 해당 페이지에 암호 필드가 있습니까? – kkaosninja

+0

사용자 이름과 비밀번호는 페이지 오른쪽 상단에서 찾을 수 있습니다. – learner

+0

웹 사이트의 소스 코드에 입력 필드가 표시되지 않습니다. 이러한 요소에 대한 코드를 숨길만한 이유가 있습니까? 만약 그렇다면 어떻게 가능하고 방화범이 모든 입력 필드를 포함한 웹 사이트의 전체 소스 코드를 얻을 수 있습니까? 어떤 도움이나 명확한 설명도 크게 환영 할 것입니다. – learner

답변

1

암호 필드를 감상 할 수있다하면 iframe 내부 :의

driver.switchTo().defaultContent(); // make sure you are on main page 
driver.switchTo().frame(
    driver.findElement(By.xpath("//iframe[contains(@src, 'login.xhtml')]"))); 
pwd=driver.findElement(By.cssSelector("input[type='password']")) 

:

<iframe width="254" height="120" frameborder="0" src="https://titolari.cartasi.it/portal/login/login.xhtml" marginheight="0" marginwidth="0" scrolling="no"> 
... 
<input id="loginForm:password" class="ui-inputfield ui-password ui-widget ui-state-default ui-corner-all" type="password" tabindex="2" placeholder="" name="loginForm:password" role="textbox" aria-disabled="false" aria-readonly="false"> 

그래서 처음을하면 iframe로 전환 한 다음 선택기를 사용할 필요가 물론 xpath/selection 메소드를 원하는대로 변경할 수 있습니다.

+0

답장을 보내 주시면 브라우저의 소스 코드와 요소 코드를 비교하는 데 도움이됩니다. – learner