Was wir haben:benötigen WebDriver Methoden außer Kraft setzen
driver = WebDriver.Chrome..
def get_driver():
#wrapper for webdriver
return driver
weiter - viele:
get_driver().find_el...
get_driver().implicitly_wait..
und so weiter in vielen Dateien
I paar WebDriver Funktionen außer Kraft setzen müssen (wie find_elements_by_xpath
und find_elements_by_id
) ohne den Code in vielen Dateien zu ändern.
Was war mein Ansatz: Erstellen Sie eine Klasse get_driver()
anstelle der Funktion, Vererbung von meinem Treiber und Override-Funktionen, die ich brauche. So etwas Ähnliches:
class get_driver(driver):
def find_element_by_xpath(self, xpath):
return WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, xpath)))
Es sah sogar wie zur Arbeit zu gehen, aber jedes Mal, wenn ich versuche, meine get_driver() aufrufen find_element_by_xpath (...) meine Klasse erstellt eine andere Instanz von Fahrer und öffnen Sie ein neues Browserfenster.. Wie könnte ich das vermeiden?
Was möchten Sie erreichen, indem Sie diese Methoden überschreiben? –