【问题标题】:How to locate pseudo element like ::before via selenium2library如何通过 selenium2library 定位 ::before 之类的伪元素
【发布时间】:2017-08-22 16:11:07
【问题描述】:

我不知道如何定位伪元素,同时使用robotframework-selenium2Library 做web 测试。 任何帮助都是有用的。谢谢。

测试脚本如下: 单击元素 my_element
ID: 点击元素 | id=my_element 通过@id 属性匹配

感谢 Alex Bruce,它成功了。

【问题讨论】:

  • 为什么不用css定位元素find_element_by_css_selector("span.layui-layer-setwin>a")
  • 你想如何处理伪元素?期望的输出是什么?
  • 它是自动测试脚本,如下所示:click element "span.layui-layer-setwin>a"
  • @Alex Bruce,我累了
  • @DiesXu,如果你想点击,那么你需要<a>元素。 ::before 不是DOM 的一部分,所以你无法定位并点击它

标签: selenium-webdriver robotframework selenium2library


【解决方案1】:

伪 Web 元素不会成为 DOM 的一部分,因此无法从 selenium2library 获取属性值。相反,我们可以像下面的 sn-p 一样从 Execute Javascript 中获取它。

${attribute_value}=    Execute Javascript    return window.getComputedStyle(${element},${pseudo_element}).getPropertyValue('${attribute}');

我一直在寻找相同的内容,并在下面的链接中找到了很好的工作代码。 (JFI - 无促销)

在下面的链接中勾选“Get Pseudo Element CSS Attribute Value”键。

https://adiralashivaprasad.blogspot.com/2018/06/how-to-get-pseudo-element-css-attribute.html

【讨论】:

    猜你喜欢
    • 2020-04-28
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 2011-08-14
    • 2017-09-26
    相关资源
    最近更新 更多