2017-08-09 26 views
1

我想使用硒从网页中提取图像。我正在尝试的代码是如何用java脚本链接提取图像?

import os 
import selenium 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from bs4 import BeautifulSoup 
driver = webdriver.Ie() 
url_database = "https://www-nass.nhtsa.dot.gov/nass/cds/CaseForm.aspx?xsl=main.xsl&CaseID=773013618" 
driver.get(url_database) 
driver.switch_to.frame(driver.find_element_by_id('menu')) 
element = driver.find_elements_by_xpath("//a[@class='menu' and contains(@onclick,'toggleswitch(this)') and contains(.,'Front') and contains(@href,'javascript')]")[0] 
driver.execute_script("arguments[0].click();", element) 
driver.switch_to.default_content() 
driver.switch_to.frame(driver.find_element_by_id('menu')) 

soup = BeautifulSoup(driver.page_source, "lxml") 
for link in soup.findAll('href'): 
    print(link) 

它有一些图像与java脚本链接。如何从中提取所有图像。

+0

* JavaScript链接* - n确信你的意思是在这里,但你可能会困惑一些东西。 –

回答

0

网页上的图像出现在src标签不href标签

下载文件: -

  1. 获取图像的SRC属性。
  2. 使用ImageIO.read的图像读取到一个BufferedImage
  3. 保存数据的BufferedImage使用ImageIO.write功能

来源: -

How to download an image using Selenium (any version)?

参考: -

enter image description here

+0

@Jack我的意思与Java脚本链接,如果是图像没有直接的图像位置它就像“​​FRONT

FRONT
”与Java脚本 – surendra

+0

甚至SRC也不会放弃跟找到所有在Beautifulsoup任何引用。 – surendra

+0

为什么使用BeautifulSoup它anty特殊区域 –