1

我有这个:

<div class="keyinfo">
<label for="ctl00_ContentHolder_DecisionControl_ctl00_lb_ApplicationReference">Application Number:</label>

<label class="formanswer">C017206461P</label> 
</div>
<br />

编号 C017206461P 每次都会改变。我需要捕获它并将其存储在一个变量中。

我在 Selenium webdriver 中的 C# 代码:

string val1 = driver.FindElement(By.XPath("//label[@class='formanswer']")).Text;

也试过

string val1 = driver.FindElement(By.XPath("//div[*[@class='Keyinfo']]//label[*[@class='formanswer']]")).Text;

但它不起作用;它将 Val1 的值设为 Null。

您能否建议如何获取动态变化的值?

4

2 回答 2

0

试试这个 XPath:

"//div[contains(@class, 'keyinfo')]/label[contains(@class, 'formanswer')]"

因此,要获取文本,您可以这样做:

string elementXPath = "//div[contains(@class, 'keyinfo')]/label[contains(@class, 'formanswer')]"
string wantedText = driver.FindElement(By.XPath(elementXPath)).Text;
于 2012-08-16T15:34:37.203 回答
0

尝试这个:

var scriptExecutor = driver as JavaScriptExecutor;
var result = scriptExecutor.ExecuteScript("return $('.formanswer').first().val();").ToString();
于 2012-09-01T16:45:28.697 回答