2017-03-05 13 views
1

Ich versuche, Bilder von Bing zu kratzen. Ich benutze Selenium und versuche, Quelllinks der Bilder zu extrahieren.Selen Python: NoSuchElementException

driver = webdriver.Firefox() 
    driver.get("http://www.bing.com/images") 
    elem = driver.find_element_by_id("sb_form_q") 
    elem.clear() 
    elem.send_keys("wheat zinc deficiency") 
    elem.send_keys(Keys.RETURN) 
    time.sleep(10) 
    driver.find_element_by_class_name("mimg").click() 
    driver.implicitly_wait(10) 
    driver.find_element_by_xpath("/html/body/div[3]/div[2]/div[1]/div/span[1]/div/div/div/div[1]/span/span/img").click() 

Die letzte Zeile zeigt Fehler, die

selenium.common.exceptions.NoSuchElementException ist: Nachricht: Kann Element lokalisieren

ich versucht habe, durch das Warten auf die Seite Race-Bedingung zu vermeiden Laden. Ich habe die XPath mit Firebug Add-on für Firefox.

Antwort

0

Bild öffnet in iframe, so dass es zu handhaben müssen Sie zu diesem iframe zuerst wechseln:

driver.find_element_by_class_name("mimg").click() 
driver.switch_to_frame('OverlayIFrame') 
image = driver.find_element_by_xpath('//img[@class="mainImage accessible nofocus"]') 
print(image.get_attribute('src')) 
+0

Dies funktioniert. Vielen Dank. – Kartavya

Verwandte Themen