2016-05-16 7 views
-2

Mein Szenario: Nach der Anmeldung in meinem Konto wird ein Interstitial auf der Webseite geöffnet. Mein Anwendungsfall ist, wenn die interstitielle angezeigt ich die interstitielle wieWie können wir die Sichtbarkeit eines Elements in Python Selen finden?

schließen würde
inter=driver.find_element_by_xpath("/*x-path location/*") 

if inter1.is_displayed(): 
    inter1.click() 

Aber für einige Benutzer interstitielle nicht angezeigt werden, ich habe meinen Code aktualisiert, wie unten

if(driver.find_element_by_xpath("/*x-path location/*").is_displayed()): 
    driver.find_element_by_xpath("/*x-path location/*").close() 

else: 
    (kept my rest of the class part here) 

Aber meine Skript wird mit folgenden Fehlern fehlgeschlagen

Kann jemand mir helfen, mit den Vorschlägen, dank im Voraus

selenium.common.exceptions.NoSuchElementException: Nachricht: Element kann nicht gefunden werden: {"method": "xpath", "selector": "/ html/body/div [1]/div [2]/div/map/bereich [ 1] " } Stacktrace: bei FirefoxDriver.prototype.findElementInternal_ (file: ///var/folders/7f/q00y41s11xdfknssfymz3qfc0000gv/T/tmp8w0k6J/extensions/[email protected]/components/driver-component.js: 10770) bei fxdriver.Timer.prototype.setTimeout/< .notify (file: ///var/folders/7f/q00y41s11xdfknssfymz3qfc0000gv/T/tmp8w0k6J/extensions/[email protected]/components/driver-component.js: 625)

Antwort

1

Zunächst einmal einen Blick in: waits methods

Ich schlage vor, dass Sie diese Lösung versuchen:

try: 
    element = WebDriverWait(driver, 10).until(
     EC.presence_of_element_located((inter1, "myDynamicElement")) 
    ) 
finally: 
    driver.quit() 

Hoffnung, die für Sie arbeiten.

0

die Lösung für die oben usecase finden:

def is_text_present(driver): 

try : 
    print "This is is_text_present method" 
    body = driver.find_element_by_xpath("Your xpath") 
    body.click(); 
except NoSuchElementException, e: 
    return False 
return True 
Verwandte Themen