Я прочитал несколько статей, в которых упоминалось, как получить изображение по selenium
. Например:
from selenium import webdriver
import requests
driver=webdriver.Firefox()
driver.get("http/https://your website")
img=driver.find_element_by_xpath("xpath leading to your element")#locating element
src=img.get_attribute('src')#fetch the location of image
img=requests.get(src)#fetch image
with open('image.jpg','wb') as writer:#open for writing in binary mode
writer.write(img.content)#write the image
Но есть ли у этих методов риск увеличения пропускной способности?
Есть ли способ, как я щелкаю правой кнопкой мыши по изображению и save as
на локальном ПК?
Я пытался использовать javascript для этого:
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
var img = document.getElementById('someImageId');
context.drawImage(img, 0, 0 );
var theData = context.getImageData(0, 0, img.width, img.height);
и встретить cross-origin
проблему
Uncaught DOMException: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data.
at <anonymous>:5:23
Это обходной путь - сделать еще один запрос, как то, что я не хочу в первой строке.
Есть предложения?