-2

Kann jemand darauf hinweisen, bitte, was in falsch ist, was ich, wie unten umgesetzt haben:‚NoneType‘ Objekt hat kein Attribut ‚Funktion‘

def setUp(self): 
    self.driver = selenium.webdriver.Chrome() 
    self.page = self.driver.get("http://mywebsite/form") 
    self.page.search_trip(2, 2) 

def search_trip(self, depart, arrival): 
    departing = Element(Locators.XPATH, "//select[@name='departing']/option[@value='%i']" %depart) 
    returning = Element(Locators.XPATH, "//select[@name='returning']/option[@value='%i']" %arrival) 
    search  = Element(Locators.XPATH, "//input[@type='submit']") 

    self.departing.click() 
    self.returning.click() 
    self.search.submit() 

Fehlercode:

self.page.search_trip(2, 2) 
AttributeError: 'NoneType' object has no attribute 'search_trip' 
+2

Sie Ihren Code mit Druck zumindest debuggen sollte –

+1

Warum gehen davon aus, dass 'driver.get' etwas zurückgibt? – DeepSpace

Antwort

0

drive.get(url) kehrt keine! und search_trip ist eine Methode, die zum Objekt class und nicht zu self.page gehört (was hier keiner ist)!

def setUp(self): 
    self.driver = selenium.webdriver.Chrome() 
    #driver.get() returns None 
    self.driver.get("http://mywebsite/form") 
    #search_trip is a method inside the class. 
    self.search_trip(2, 2) 

def search_trip(self, depart, arrival): 
    departing = Element(Locators.XPATH, "//select[@name='departing']/option[@value='%i']" %depart) 
    returning = Element(Locators.XPATH, "//select[@name='returning']/option[@value='%i']" %arrival) 
    search  = Element(Locators.XPATH, "//input[@type='submit']") 

    self.departing.click() 
    self.returning.click() 
    self.search.submit() 
Verwandte Themen