2017-06-13 37 views
0

我需要從這個標籤硒對span標記的webdriver得到的數據綁定值

<span> 
    <a class="jsk-sa-dialog link-lightbox-valores" data-bind="attr: { href: '#sa-valor-' + $root.types().id }" href="#sa-valor-2"> 
    Link to click that pop-ups a new window 
    </a> 
</span> 

獲得的價值看在調試器中的「HTML」代碼後,我看到了我想要得到的文本成HTML ... 要獲得生成到彈出窗口中的文字,我寫了這個代碼:

case "someBaseText":  
{ 
    details.Click(); // Simulate the click on <a> tag 
    var tx = details.FindElement(By.XPath("//div[@class='overview-material']")); 
    var dv = tx.FindElement(By.XPath("//div[@class='sa-valor']/h3")); 
    var ttText = dv.Text; // Empty :(
} 

,我從調試器得到的HTML:

<div class="overview-material"> 
<div class="valores" data-bind="foreach: $root.types"> 
<div class="sa-valor" data-bind="attr: { id: 'sa-valor-' + id }" id="sa-valor-2"> 
<h3 class="titulo">Mensalidade</h3> 
<div class="texto" data-bind="html: apresentacao.valor"> 
TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT 

所以,我想要得到的div類中的文本 「texto」

回答

0

基於對dv中的XPath,你所得到的<h3>元素:

<h3 class="titulo">Mensalidade</h3> 

因此dv.Text應該返回"Mensalidade"


嘗試更新的XPath的<div>class='texto'

//div[@class='sa-valor']/div[@class='texto'] 
0

嘗試CssSelector:

var text = driver.FindElement(By.CssSelector("div.texto")).Text;