2017-12-15 7 views
1
<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 &amp; New</button> 
      <button class="slds-button slds-button--brand slds-m-left--small" data-aura-rendered-by="10163:0">Save</button> 
     </div> 
    </div> 
</div> 

Xpath nicht finden Element (Eltern/Vorfahren)

Dieser Teil der Seite ist, auf der ich auf Schaltfläche Speichern klicken. Button ist nicht eindeutig und ich muss es durch Klassenattribut von ersten div (SLDs-Show), oder

finden Kann mir jemand sagen, warum dieser Xpath dieses Element nicht findet?

Ich habe auch mit Vorfahren versucht, Text statt Klasse und Ergebnisse ist das gleiche. Element nicht über Firefox Konsole

Antwort

0

Versuchen Sie, aktualisieren Sie Ihren Ausdruck wie folgt zu finden:

//button[parent::div[@class='slds-show'] and @class='slds-button slds-button--brand slds-m-left--small'] 

Beachten Sie, dass [@class='slds-button slds-button--brand slds-m-left--small'] in Ihrem XPath-Prädikat beabsichtigen @class Wert von Eltern zu testen div, aber nicht Ziel button

+0

Dies funktioniert, aber aufgrund des Inhalts der Seite muss ich Ergebnisse. Für den Fall, dass ich einen Vorfahren mit einem oberen Knoten verwende, habe ich vier Ergebnisse ... Ich denke, ich werde mich an den Entwickler wenden müssen, um das zu beheben – Tomek

0

Sie können die folgenden xpaths versuchen.

  1. //*[@class="slds-show"]/button[text()="Save"]

oder

  1. //*[class="slds-show"]/button[@class="slds-button slds-button--brand slds-m-left--small"]
0

Ein XPath leicht zu komplex erhalten können, können Sie auch so etwas wie dies ausprobieren können:

  • //button[text()='Cancel']
  • //button[text()='Save & New']
  • //button[text()='Save']

Diese werden die genauen Tasten zurückkehren Sie benötigen. Wenn Sie sich für einen bestimmten Vorfahren suchen, sind es in Ihrem XPath:

//div[@class="slds-show"]//button[text()='Save & New']

0

Wenn man durch Ihre Frage to click on Save button und find it through Klasse attribute from first div (slds-show) Sie eine viel einfacher und effektiver nutzen können xpath als folgt:

//div[@class='slds-show']/button[@class='slds-button slds-button--brand slds-m-left--small'] 

Hinweis: Das Klassenattribut slds-button--brand ist einzigartig für die Schaltfläche Save.