오이 기능을 쓰고 있는데 iframe의 텍스트 필드에 값을 입력해야합니다. 시도한 결과iframe에서 텍스트 필드의 값을 채우는 방법
find("#user_email").set "malicious_value"
그러나 성공하지 못했습니다. 나는 셀레늄 webdriver 있습니다.
오이 기능을 쓰고 있는데 iframe의 텍스트 필드에 값을 입력해야합니다. 시도한 결과iframe에서 텍스트 필드의 값을 채우는 방법
find("#user_email").set "malicious_value"
그러나 성공하지 못했습니다. 나는 셀레늄 webdriver 있습니다.
이것은 iframe에서 전환 할 셀렌이있는 루비 코드입니다. <: 0xb206aec 카피 바라 :: 셀레늄 :: 드라이버>
#Move into iframe
page.driver.browser.switch_to.frame "name or id of frame"
#Move to default content or outsite frame
page.driver.browser.switch_to.default_content
frame
안에 어떤 작업을하고 싶다면. 먼저 프레임 안으로 들어가야합니다. 프레임 내부에 작업을 마무리 한 후
//Assume driver is initiated properly some where.
driver.switchTo.frame(FrameName);
(Or)
driver.switchTo.frame(FrameIndexValue);
(Or)
WebElement element = driver.findElement(By.id(LocatorValue));
driver.switchTo.frame(element);
:
코드는 프레임을 입력합니다. 그런 다음 defaultContent()가 모든 위의 메인 페이지로 이동합니다 iframe
를 처리하는 경우
driver.switchTo.defaultContent();
: 당신은 프레임을 떠나
코드를 사용하여 프레임에 나올 필요 iframe을 사용하지만이 경우 frame
을 처리하면 페이지의 첫 번째 프레임으로 이동합니다.
더 많은 경우 info on frmae handling.
내가 그것을 사용하고 오류가 점점 오전 : : : NoMethodError 예외 번호 정의되지 않은 메서드'switchTo를 '당신은 그것을 할 수 있습니다. ruby selenium 코드가 필요합니다. –
죄송합니다. 제 실수입니다. 이 링크 [프레임 처리] (http://stackoverflow.com/questions/11909149/how-can-i-switch-between-two-frames-with-capybara)를 사용하십시오. 그것은 당신을 도울 수 있습니다. 작동하지 않으면 알려주세요. – Manigandan
셀레늄이있는 iframe에 대한 좋은 링크가 있습니다 [Iframe] (http://stackoverflow.com/questions/11909149/how-can-i-switch-between-two-frames-with-capybara) 및 [Iframe1] (http://code.google.com/p/selenium/wiki/RubyBindings) –