【问题标题】:Why Does Selenium Add a Space to Attribute?为什么 Selenium 会为属性添加空格?
【发布时间】:2017-08-16 12:42:37
【问题描述】:

我正在尝试在 Google.com 上检索元素 .//*[@id='hplogo'] 的样式属性。预期值为padding-top:109px;(无空格),但Selenium 返回的实际值为padding-top: 109px;:109 之间有空格)。

如果HTML 中没有空格,我不明白为什么 Selenium 会添加空格。

我知道我可以手动删除空格,但我想知道是否有办法防止空格首先出现(主要是因为其他属性值具有真实空格,我不想删除与实际有空格的值不同)。

那么 Selenium 什么时候决定在属性中间添加一个空格,如何防止呢?

谢谢

【问题讨论】:

    标签: java html selenium selenium-webdriver


    【解决方案1】:

    这只是方法getAttribute() 的实现方式增加了空间。 根据Selenium's Java API documentationgetAttribute() 方法:

    “style”属性被尽可能地转换为文本 以分号结尾的表示。

    因此可以安全地假设额外的空间是由底层 selenium 代码添加的。我认为除了自己删除空间之外,您无法采取任何措施来避免它。

    【讨论】:

    • 那么假设这种行为仅使用“style”属性而不使用其他属性来实现是否安全?我还是不明白他们为什么要这样做。谢谢。
    • 好吧,您可以放心地假设它仅具有样式属性。我试图深入了解getAttribute() 是如何实现的,但没有发现任何有意义的东西。
    猜你喜欢
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 2012-08-06
    • 2013-03-13
    • 1970-01-01
    相关资源
    最近更新 更多