2017-02-12 5 views
0

Я использую webdriverjs, и я хочу получить родительский идентификатор веб-элемента. Существует несколько классов, называемых row, но каждый имеет другой идентификатор. Проблема заключается в том, что ID генерируется при отправке сообщения. поэтому я могу захватить innerHtml по классу, а затем попытаться извлечь Id. У меня есть ниже HTML,Как получить родительский идентификатор div, используя javascript selenium?

<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> 

второй DIV, который с идентификатором (4361) является генерируемой один, который мне нужен, чтобы захватить для моего тестирования. Тем не менее, я могу получить coach-chat-text. Как получить родительский элемент в селене. Я пробовал приведенный ниже код, но я не знаю, как получить родительский идентификатор.

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); 
        } 
       }); 
      }); 
     }); 
    }); 

ответ

0

Если вы используете webdriver.By.xpath, чтобы найти элемент с классом «тренер-чат-текст», то вы можете использовать XPath родительский селектор - /parent::node() - найти родительский элемент.

что-то вроде следующего, хотя ваш XPath, вероятно, различны:

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

Смежные вопросы