Java 为什么Selenium会在属性中添加一个空格?

Java 为什么Selenium会在属性中添加一个空格?,java,html,selenium,selenium-webdriver,Java,Html,Selenium,Selenium Webdriver,我试图在Google.com上检索元素//*[@id='hplogo']的style属性。期望值为padding top:109px(不带空格),但Selenium返回的实际值为padding top:109px(在:和109之间有空格) 我不明白,如果HTML中没有空间,为什么Selenium会添加一个空格 我知道我可以手动删除空间,但我想知道是否有一种方法可以防止空间首先出现(主要是因为存在其他具有真实空间的属性值,我不想从实际具有空间的值中删除空间) 那么,Selenium什么时候决定在属

我试图在Google.com上检索元素
//*[@id='hplogo']
的style属性。期望值为
padding top:109px(不带空格),但Selenium返回的实际值为
padding top:109px(在
109
之间有空格)

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

我知道我可以手动删除空间,但我想知道是否有一种方法可以防止空间首先出现(主要是因为存在其他具有真实空间的属性值,我不想从实际具有空间的值中删除空间)

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


感谢方法
getAttribute()
的实现方式增加了空间。 对于
getAttribute()
方法,请参见:

“样式”属性将尽可能转换为文本 用尾随分号表示


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

这只是方法
getAttribute()
的实现方式增加了空间。 对于
getAttribute()
方法,请参见:

“样式”属性将尽可能转换为文本 用尾随分号表示


因此,可以安全地假设附加空间是由底层selenium代码添加的。我认为除了您自己移除空间之外,您无法做任何事情来避免它。

因此,可以安全地假设此行为仅使用“style”属性而不使用其他属性来实现吗?我还是不明白他们为什么这么做。。谢谢。好吧,你可以放心地假设它只具有style属性。我试着在引擎盖下寻找
getAttribute()
是如何实现的,但没有找到任何有意义的东西。因此,可以安全地假设此行为仅使用“style”属性而不使用其他属性实现吗?我还是不明白他们为什么这么做。。谢谢。好吧,你可以放心地假设它只具有style属性。我试着从引擎盖下面寻找
getAttribute()
是如何实现的,但没有找到任何有意义的东西。