@Fee1in

Selenium. Как получить координату элемента относительно окна?

Добрый день! С Selenium захожу на сайт нажимаю на нужные кнопки прокручиваю страницу в низ до кнопки, нажимаю на нее (капча), появляется окошко. В дальнейшем мне нужен скриншот именно этого небольшого окошка (капчи) в центре страницы. Для этого я делаю скриншот окна браузера, через selenium получаю координаты этого окошка для обрезки изображения через PIL, но координаты по Х даются верные, но вот по Y координата берется относительно верха страницы с учетом скролла. В итоге получается скриншот 900х600, а координата элемента Х:200 Y:1300. Т.е за периметром самого скрина. Как мне получить координату элемента относительно окна? Или как сделать скриншот именно этого элемента?
Т.к потом кусочек этого скрина надо будет распознать и прощелкать на определенные элементы на странице.
featureElement = browser.find_element_by_xpath('//*[@id="popup_1"]')
location = featureElement.location #получение координаты элемента 'x':290 'y': 1322
size = featureElement.size #получение размера элемента 'x':558 'y': 398
element.screenshot("fullPageScreenshot.png")
x = location['x']
y = (int(956)- size['height'])/2 #Вот тут проблема с координатой
w = x + size['width']
h = location['y']
fullImg = Image.open("fullPageScreenshot.png")
draw = ImageDraw.Draw(fullImg)
draw.rectangle((x, y, w, h), outline='blue')
fullImg.save('drawshape.png')

Кусочек код страницы, но в атрибуте top:1322 это координата относительно всей страницы с учетом скролла
<div class="k-widget k-window" tabindex="0" style="min-width: 90px; min-height: 50px; width: 400px; height: 600px; top: 1322px; left: 289px; z-index: 10003;" data-role="draggable">
<div id="popup_1" data-role="window" class="k-window-content k-window-iframecontent" style="" role="dialog" aria-labelledby="popup_1_wnd_title">
</div>
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы