2015-02-04 2 views
0

다음 경고를 발견했을 때 현재 Selenium 웹 사이트를 자동화하고 있습니다. Picture of dialog box 페이지의 HTML에 액세스 할 수 없습니다. 첫 번째 필드에 숫자를 입력 한 다음 "확장"버튼을 선택해야합니다. 내가 대화 상자를 열 Selenium에서 고유 한 경고 탐색

, 나는 초점이 텍스트 상자에 있던 것을 발견, 그래서 시도 : "확장

Actions actions = new Actions(driver); 
Alert alert = driver.switchTo().alert(); 
actions.sendKeys(Integer.toString(2)); 
actions.sendKeys(Keys.TAB); 
actions.sendKeys(Keys.ENTER); 

그러나,이 필드에 정보를 입력하거나 선택 끝나지 않았다 "하지만 응용 프로그램을 손상시키지 않았습니다.

는 또한 시도 :

Alert alert = driver.switchTo().alert(); 
alert.sendKeys(Integer.toString(2)); 
alert.accept(); 

응용 프로그램을 중단했고, 오류 반환 : 모달 대화 상자가 텍스트 상자를하지 않았다 - 어쩌면 경고했습니다.

경고와 상호 작용할 수있는 방법이 있습니까?

편집 : 새 창에서 driver.switchTo().alert()driver.switchTo().window("genericWindowHandle")을 사용할 수 있습니다. 이것이 정상적인 지 또는이 경고/창이 실제로 무엇인지 결정하는 데 도움이되는지 확실하지 않습니다.

+0

새 창처럼 보입니다. – Saifur

답변

1

이것은 분명히 창입니다 - 제목 표시 줄에 유의하십시오. 게다가이 창이 나타나면 퀵 스타트 옵션 바 (Mac 및 Windows의 화면 하단)를보고 창인지 여부를 쉽게 확인할 수 있습니다. 새 창이 인식되지만 대화 상자는 인식되지 않습니다.

이것은 창처럼 보입니다. 정상이며 기대되는 것 같습니다.

+0

좋은 관찰이지만, 여전히 실제 질문에 답할 수 없습니다 : 로케이터를 사용하지 않고 어떻게 창과 상호 작용할 수 있습니까? – bagelmakers

+0

나는이 주석을 잘 모르겠다 - 당신은 By Locator가없는 텍스트 박스와 버튼에 접근하고 싶다. 그렇지 않으면 당신은 로케이터로 바꾼 후에 By 요소를 가진 요소에 접근 할 수 없다는 것을 의미한다. 내 경험에 의하면, 당신은 그들로 바꾼 후에 평소처럼 (로케이터를 사용하여) 그들에 접근 할 수 있어야한다. – ucsunil

+0

아 .. 나는 당신이 당신의 브라우저로 IE를 사용하고 있음을 발견했다. 셀레늄에는 많은 것들이있다. do가 지원되지 않거나 IE와 잘 작동하지 않습니다. 코드가 Firefox에서는 작동하지만 IE에서는 작동하지 않는다고 알려주십시오. 그러면 범인이 생길거야. – ucsunil

0

나는 페이지의 제목이 당신과 똑같은 웹 페이지 대화창 인이 문제를 가지고있다. 이 창에서는 요소를 검사 할 수 없습니다. 이것에 솔루션은 IE에서 F12에 의해 요소를 검사 할 수 있습니다, 지금

Internet Explorer--> 
Internet Options --> 
Security tab --> 
Custom Level --> 
Disable the option : Allow Websites to open windows without address or status bar 

로 이동합니다. 이제 모든 셀렌 명령을 쓰면 대화 상자에서 JavaScript를 호출하는 경우 JavaScriptExecutor를 사용할 수도 있습니다.

관련 문제