我需要从此标记中获取值
<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>
看完&#34; html&#34;调试器中的代码,我看到了我想要进入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类中找到文本&#34; texto&#34;
答案 0 :(得分:0)
基于dv
的XPath,您将获得<h3>
元素:
<h3 class="titulo">Mensalidade</h3>
因此dv.Text
应该返回"Mensalidade"
。
尝试使用<div>
class='texto'
//div[@class='sa-valor']/div[@class='texto']
答案 1 :(得分:0)
尝试使用CssSelector:
var text = driver.FindElement(By.CssSelector("div.texto")).Text;