Selenium Python:NoSuchElementException

时间:2017-03-05 15:11:48

标签: python selenium xpath selenium-firefoxdriver

我正试图从Bing中抓取图片。我正在使用Selenium并试图提取图像的源链接。

    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()

最后一行显示错误,即

selenium.common.exceptions.NoSuchElementException:消息:无法找到元素

我试图通过等待页面加载来避免竞争条件。 我使用firefox的firebug附加组件获得了xpath。

1 个答案:

答案 0 :(得分:0)

图片在iframe中打开,因此要处理它,您需要先切换到iframe

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'))