2017-02-12 4 views
0

Ich benutze Webdriverjs, und ich möchte die Eltern-ID eines Webelements erhalten. Es gibt mehrere Klassen namens Zeile, aber jeder hat eine andere ID. Die Herausforderung besteht darin, dass die ID beim Senden einer Nachricht generiert wird. also kann ich den innerenHtml nach Klasse greifen und dann versuchen, die ID zu holen. I die folgenden HTML haben,Wie bekomme ich die Eltern ID mit Javascript Selen?

<div class="row" id="4003"> 
<div class="client-chat"> 
<p class="client-chat-text">If you have any questions, don’t hesitate to message me. I’m here to help with whatever you need!<span class="chat-time">Feb 01 2017 11:30:57</span></p> 
</div> 
</div> 

<div id="4361" class="row"> 
<div class="coach-chat"> 
<p class="coach-chat-text"> 
hi 
</p> 
</div> 

die zweite div, die man mit der ID (4361) ist die erzeugt wird, die ich brauche für meine Tests zu greifen. Ich kann jedoch Coach-Chat-Text abrufen. Wie bekomme ich das Elternelement in Selen? Ich habe den folgenden Code ausprobiert, aber ich weiß nicht, wie ich die Eltern-ID bekomme.

it('send a text message now',function(done){ 
      driver.findElement(webdriver.By.css("#messageField")).sendKeys('Hi'); 
      driver.sleep(1000); 
      driver.findElement(webdriver.By.xpath(".//*[@id='sendMessage']")).click().then(function(){ 
       driver.findElement(webdriver.By.className("coach-chat-text")).getText().then(function(text){ 
        var message = text.slice(0,2); 
        //i want to fetch the parent id here. 
        try { 
         expect(message).to.equal("www.pluma.co"); 
         done(); 
        } catch (e) { 
         done(e); 
        } 
       }); 
      }); 
     }); 
    }); 

Antwort

0

Wenn Sie webdriver.By.xpath verwenden Sie das Element mit einer Klasse von ‚Trainer-chat-Text‘ zu finden, dann könnten Sie die XPath Eltern-Selektor - /parent::node() - das übergeordnete Element zu finden.

etwas wie die folgenden, obwohl Ihre XPath wird wahrscheinlich variieren:

driver.findElement(webdriver.By.xpath(".//*[contains(@class, 'coach-chat-text')]/parent::node()"));

Verwandte Themen