에 셀레늄 Webdriver에 방법을 추가, 나는 내가 할 수있는 발견 :루비에 셀레늄 webdriver 작업 루비
driver.find_element_id("myID")
:
driver.find_element(:id => "myID")
이 좋은 동안, 난 그냥이 작업을 수행 할 수 있도록하고 싶습니다
어떻게 든이 메서드를 WebDriver 클래스에 추가 할 수 있습니까?
에 셀레늄 Webdriver에 방법을 추가, 나는 내가 할 수있는 발견 :루비에 셀레늄 webdriver 작업 루비
driver.find_element_id("myID")
:
driver.find_element(:id => "myID")
이 좋은 동안, 난 그냥이 작업을 수행 할 수 있도록하고 싶습니다
어떻게 든이 메서드를 WebDriver 클래스에 추가 할 수 있습니까?
#find_element
은 모듈 Selenium::WebDriver::SearchContext
의 인스턴스 메소드입니다. 그래서 모듈 Selenium::WebDriver::SearchContext
열립니다 아래와 같이 새로운 방법을 추가합니다 :
module Selenium::WebDriver::SearchContext
def find_element_id(id)
find_element(:id => id)
end
end
재미 있습니다. find_element가 정확한 모듈을 알고 자신 만의 고유 한 메서드를 만들 필요가 있습니까? –
@Dbugger 예 .. 이것이'Driver','Element' 클래스에도 포함 되었기 때문에 .. 적절한 위치에 메소드를 추가해야합니다. –
그러면 "모듈 Selenium :: WebDriver :: Element"를 확장하려고 할 때 "요소가 모듈이 아닙니다"라는 메시지가 나타납니다. –
은 어쩌면 당신은 다른 클래스와 같은 클래스를 열 수 있습니까? 메소드를 추가 하시겠습니까? String을 열 수 있다면 WebDriver를 사용하지 않는 이유는 무엇입니까? 클래스 WebDriver def find_element_id (id) ... end end? –
나는 그것이 가능하다고 생각한다. 'find_element (: id => "myID")'.. 호출 할 수있는 메소드 내에서 메소드를 정의해야한다. –