2016-03-18 3 views
0

Итак, я, наконец, завершил свой простой скрипт, чтобы получить некоторые ссылки на изображения с какого-либо сайта. Теперь проблема заключается в том, что селен не сохраняет эти изображения. Нет, я не хочу скриншотов, они не служат цели. Скриншот оставляет много белого пространства, как он видит в своем собственном разрешении.Сохранение изображений из URL-адреса в селене (Python)

В любом случае, я попытался это послать "Ctrl + S", а затем нажмите "Enter":

saveas = ActionChains(driver).key_down(Keys.CONTROL).send_keys('s').key_up(Keys.CONTROL).key_down(Keys.ENTER).key_up(Keys.ENTER) 
     saveas.perform() 

Теперь, что я делаю неправильно здесь? ссылка на изображение: http://imgcomic.naver.net/webtoon/654817/44/20160314180903_2cfdd685f7e4f2c93a54e819898d6fb1_IMAG01_2.jpg

+2

Я cant't доступ к ссылке вы прилагаетесь. –

ответ

1

Webdriver выполняет скриншот целиком. Однако вы можете попробовать обрезать изображение в соответствии с вашими размерами элементов. Ниже Java код будет помогает вам

driver.get("http://www.google.com"); 
    WebElement image = driver.findElement(By.id("hplogo")); 
    //Get entire page screenshot 
    File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 
    BufferedImage fullImg = ImageIO.read(screenshot); 
    //Get the location of element on the page 
    Point point = image.getLocation(); 
    //Get width and height of the element 
    int imageWidth = image.getSize().getWidth(); 
    int imageHeight = image.getSize().getHeight(); 
    //Crop the entire page screenshot to get only element screenshot 
    BufferedImage eleScreenshot= fullImg.getSubimage(point.getX(), point.getY(), imageWidth, 
      imageHeight); 
    ImageIO.write(eleScreenshot, "png", screenshot); 
    //Copy the element screenshot to disk 
    FileUtils.copyFile(screenshot, new File("E:\\selenium_desk\\GoogleLogo_screenshot1.png")); 
    driver.close(); 

Спасибо, Мурало

 Смежные вопросы

  • Нет связанных вопросов^_^