Как получить глубину веб-элементов со статическим положением? - PullRequest
0 голосов
/ 24 марта 2019

Создавая веб-сканер, я попытался получить доступ к z-индексам всех веб-элементов после успешного их поиска.Но z-индексы все "auto", так как все они имеют свойство "position": "static" в chrome и firefox в моем win10.
Для сравнения, Дебанян ответил, что он успешно получил целочисленные значения z-индексы этих элементов в его эксперименте для той же страницы с Chrome.
Означает ли это, что некоторые настройки веб-драйвера или браузеров влияют на свойство позиции по умолчанию?
Могу ли я изменить свойство позиции элементов во время выполнения, чтобы получить их z-индексы, не влияющие на визуализацию макета страницы?
Если да, как мне это сделать?

Любое предложение будет оценено!

1 Ответ

1 голос
/ 24 марта 2019

Чтобы получить фактический z-индекс, вы можете использовать getComputedStyle Javascript, как показано ниже:

element = driver.find_element()
zindex = driver.execute_script("return window.getComputedStyle(arguments[0]).zIndex", element)

И обновить:

driver.execute_script("arguments[0].style.zIndex = 999", element)

Подробности вы можете найти здесь и совместимость браузера здесь .

Метод Window.getComputedStyle () возвращает объект, содержащий значения всех CSS-свойств элемента после применения активных таблицы стилей и разрешение любых базовых вычислений, эти значения могут содержат. Доступ к отдельным значениям свойств CSS осуществляется через API предоставляется объектом или путем индексации с помощью имен свойств CSS.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...