Java 为什么Selenium会在属性中添加一个空格?
我试图在Google.com上检索元素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什么时候决定在属
//*[@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()
是如何实现的,但没有找到任何有意义的东西。