xpath中元素属性中的空格

xpath中元素属性中的空格,xpath,yaml,Xpath,Yaml,我们在YML文件中定义了此XPath: message_form_show: //div[@class='cart']/div[@class='message']/form[@id='message-form' and not contains(@style, 'display:none')] 然而,我们希望改为“display:none”,但是在添加空间时,Netbeans抱怨说YML没有正确解析,并且运行Selenium测试也失败了 有什么办法可以解决这个问题吗?问题是,在更改后,显示:(

我们在YML文件中定义了此XPath:

message_form_show: //div[@class='cart']/div[@class='message']/form[@id='message-form' and not contains(@style, 'display:none')]
然而,我们希望改为“
display:none
”,但是在添加空间时,Netbeans抱怨说YML没有正确解析,并且运行Selenium测试也失败了


有什么办法可以解决这个问题吗?

问题是,在更改后,
显示:
(冒号后跟空格)作为一个新数组,其中包含
none')]
。这通常使YAML能够包含数组的列表,但在这种情况下,它会使事情出错

:

或者用双引号引用:

message_form_show: "//div[@class='cart']/div[@class='message']/form[@id='message-form' and not contains(@style, 'display: none')]"

硒测试失败的原因是什么?如果它说找不到元素,并且原始元素的
显示中没有空格:none
,那么XPath将找不到它。或者它在不可解析的XPath异常上失败了吗?它在不可解析的XPath异常上失败了。如果您尝试在Selenium测试中打印XPath,它会打印整个XPath吗?还是会印一些假的?哦,我明白了。
display:
后面的空格使
display:
看起来像yaml构造。
message_form_show: "//div[@class='cart']/div[@class='message']/form[@id='message-form' and not contains(@style, 'display: none')]"