0
우리는 무엇을 가지고 : 더WebDriver의 메소드를 오버라이드 (override) 할 필요
driver = WebDriver.Chrome..
def get_driver():
#wrapper for webdriver
return driver
- 많은 : 많은 파일
에서 등get_driver().find_el...
get_driver().implicitly_wait..
와 내가 webdriver의 기능 몇 가지 (오버라이드 (override) 할 필요가 많은 파일에서 코드를 변경하지 않고 find_elements_by_xpath
및 find_elements_by_id
).
내 접근 방식 : 클래스 대신 get_driver()
클래스를 만들고 드라이버에서 상속 받아 필요한 기능을 재정의하십시오. 그런 뭔가 :
class get_driver(driver):
def find_element_by_xpath(self, xpath):
return WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, xpath)))
심지어 작동하는 것처럼 보였다, 그러나 어떤 시간 내 get_driver()를 호출하려고 find_element_by_xpath (...) 나의 클래스는 드라이버의 또 다른 인스턴스를 만들고 새 브라우저를 열고 있습니다.. 어떻게 이것을 피할 수 있습니까?
이 방법들을 재정의하여 달성하고자하는 것은 무엇입니까? –