如何获得静态位置的Web元素的深度?

问题描述 投票:0回答:1

构建一个Web爬虫,我试图在成功找到它们之后访问所有Web元素的z-indices。但是z-indices都是“auto”,因为它们在我的win10中都是chrome和firefox中的属性“position”:“static”。 相比之下,Debanjan回答说他在他的实验中成功地获得了那些元素的z-indices的整数值,这些元素与chrome相同。 这是否意味着webdriver或浏览器的某些设置会影响默认位置属性? 我可以在运行时更改元素的position属性以获取其z-indices而不影响页面布局的呈现吗? 如果是,我应该怎么做?

任何建议将不胜感激!

python selenium webdriver position z-index
1个回答
1
投票

要获得实际的z-index,您可以使用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)

您可以在www.zxxswpoi找到here和浏览器兼容性的详细信息。

在应用活动样式表并解析这些值可能包含的任何基本计算之后,Window.getComputedStyle()方法返回包含元素的所有CSS属性值的对象。通过对象提供的API或通过CSS属性名称索引来访问各个CSS属性值。

here

© www.soinside.com 2019 - 2024. All rights reserved.