<div class="slds-show" data-aura-rendered-by="10155:0">
<div class="footer" data-aura-rendered-by="10156:0">
<div class="slds-grid slds-grid--align-end slds-m-top--large" data-aura-rendered-by="10157:0">
<div class="slds-show" data-aura-rendered-by="10158:0">
<button class="slds-button slds-button--neutral slds-m-left--small" data-aura-rendered-by="10159:0">Cancel</button>
<button class="slds-button slds-button--neutral slds-m-left--small" data-aura-rendered-by="10161:0">Save & New</button>
<button class="slds-button slds-button--brand slds-m-left--small" data-aura-rendered-by="10163:0">Save</button>
</div>
</div>
</div>
这是页面的一部分,我将不得不点击“保存”按钮。 按钮不是唯一的,我需要通过第一个div(slds-show)的类属性找到它,或者
有人可以告诉我,为什么这个xpath没有找到这个元素?
//button[parent::div[@class='slds-show'][@class='slds-button slds-button--brand slds-m-left--small']]
我也尝试使用祖先,文本而不是类,结果是一样的。通过Firefox控制台找不到元素
答案 0 :(得分:0)
尝试更新您的表达式,如下所示:
//button[parent::div[@class='slds-show'] and @class='slds-button slds-button--brand slds-m-left--small']
请注意,XPath中的谓词[@class='slds-button slds-button--brand slds-m-left--small']
打算测试父@class
的{{1}}值,而不是目标div
答案 1 :(得分:0)
您可以尝试以下xpath。
[XmlRoot(ElementName = "root", Namespace = "http://foo.bar")]
public class Root
{
// note empty namespace here
[XmlElement(ElementName = "child", Namespace = "")]
public Child Child { get; set; }
}
或
//*[@class="slds-show"]/button[text()="Save"]
答案 2 :(得分:0)
xpath很容易变得太复杂,你也可以尝试这样的事情:
//button[text()='Cancel']
//button[text()='Save & New']
//button[text()='Save']
这些将返回您需要的确切按钮。如果您正在寻找特定的祖先,请将其包含在您的xpath中:
//div[@class="slds-show"]//button[text()='Save & New']
答案 3 :(得分:0)
通过您的问题 to click on Save button
和 find it through
课程attribute from first div (slds-show)
,您可以使用更简单有效的 { {1}} 如下:
xpath
注意:类别属性
//div[@class='slds-show']/button[@class='slds-button slds-button--brand slds-m-left--small']
对于slds-button--brand
按钮是唯一的。