我正试图从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。
答案 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'))