【发布时间】:2019-03-23 04:15:28
【问题描述】:
有人告诉我,我可以检查 Web 元素的“z-index”属性来检查它们的深度。 我首先使用以下两个语句之一来成功定位元素。
e = WebDriverWait(tA.driver,1).until(EC.visibility_of_element_located((By.XPATH, xPath)))
e = WebDriverWait(tA.driver, 1).until(EC.element_to_be_clickable((By.XPATH, xPath)))
然后我在firefox和win10上使用了以下python代码:
zi = e.value_of_css_property("z-index")
网页网址为https://irs.thsrc.com.tw/IMINT/,其中有一个弹出消息框。
我认为这个盒子的 z-index 应该是 1,其他元素应该是 0。但是,使用上面的 python 语句会使 Selenium 返回“自动”到我的所有查询。
我读到有人建议 z-index 查询不适用于位置值为“静态”的元素。
所以在以下页面中:http://aludratest.github.io/aludratest/xref/org/aludratest/service/gui/web/selenium/selenium2/ZIndexSupport.html
重复查询“z-index”属性,直到它不是“auto”。
但是我尝试了这个,它在几次试验后导致定位失败。
我的问题如下:
- 在这种情况下我可以更改元素的位置属性吗?
- 如果我更改元素的位置属性,它会起作用吗?
谢谢
【问题讨论】:
-
z-index代表哪个元素? -
嗨,亲爱的:我需要收集所有可操作元素的 z-indices,然后比较它们的 z-indices,看看哪些在其他元素之上。
标签: python css selenium z-index webdriverwait