Я пытаюсь сделать снимок определенного элемента на веб-странице, используя Selenium и Pyscreenshot.
Вот мои коды:
driver = webdriver.Chrome('./chromedriver')
driver.get("https://kmong.com/?gclid=Cj0KCQiA7briBRD7ARIsABhX8aBKVDTUh1xRgGdYVos02DXaVzR-YWe66W9HTYcG_459B0XKpSnAt4MaArhYEALw_wcB")
e = driver.find_element_by_xpath('//*[@id="kmongNavBar"]/div[2]/div[1]/div[1]/div[1]/div/a/img')
location = e.location;
size = e.size;
print(location)
print(size)
x = location['x']
y = location['y']
z = location['x']+size['width']
h = location['y']+size['height']
im=ImgGrab.grab(bbox=(x, z, y, h))
im.save('test.png')
Я хочу получить это:
Вместо этого я получаю это:
Так что я должен предположить, что pyscreenshot делает снимки на экране ЭКРАН, а не на селене.
Как мне адресовать координаты для ограничения исключительно на странице Selenium?
Хорошо, благодаря комментарию, я получил эту работу:
driver.find_element_by_xpath ('//* [@ id = "catch"] '). screenshot ("catch.png")
но теперь это не сохраняет файл, а скорее откройте в браузере.
Как мне изменитькод для сохранения файла вместо ??