Selenium 如何找到硒的价值

Selenium 如何找到硒的价值,selenium,selenium-webdriver,Selenium,Selenium Webdriver,我试图从下面的html中获取属性“value”的值。我知道的唯一值是标记。名称和值根据标记不断更改 <input type="hidden" name="expressions[1].checked"/> <input type="hidden" value="B" name="expressions[1].expressionLabel"/> <b>Description</b> <input type="hidden" value="De

我试图从下面的html中获取属性“value”的值。我知道的唯一值是
标记。名称和值根据
标记不断更改

<input type="hidden" name="expressions[1].checked"/>
<input type="hidden" value="B" name="expressions[1].expressionLabel"/>
<b>Description</b>
<input type="hidden" value="Description" name="expressions[1].parameterName"/>
<input type="hidden" value="Description" name="expressions[1].fieldName"/>
<input type="hidden" value="RF" name="expressions[1].fieldType"/>
<input type="hidden" value="" name="expressions[1].limitedValues"/>



<input type="hidden" name="expressions[0].checked"/>
<input type="hidden" value="A" name="expressions[0].expressionLabel"/>
<b>Create Date</b>
<input type="hidden" value="StartCreateDate" name="expressions[0].parameterName"/>
<input type="hidden" value="CreateDate" name="expressions[0].fieldName"/>
<input type="hidden" value="RF" name="expressions[0].fieldType"/>
<input type="hidden" value="" name="expressions[0].limitedValues"/>


<tr>
<td colspan="4">
<table width="100%" cellspacing="0" cellpadding="4" border="0">
<tbody>
<tr>
<td class="bb" align="left" colspan="4">
<div id="criteria_table">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="pad s_pad_right">
<table id="criteria_items" class="table_form_advanced" width="100%" cellspacing="0" cellpadding="4" border="0">
<tbody>
<tr>
<td>
<div>
<div>
<table>
<tbody>
<tr>
<td width="150" valign="top">
<input type="hidden" name="expressions[0].checked"/>
<input type="hidden" value="A" name="expressions[0].expressionLabel"/>
<b>Description</b>
<input type="hidden" value="Description" name="expressions[0].parameterName"/>
<input type="hidden" value="Description" name="expressions[0].fieldName"/>
<input type="hidden" value="RF" name="expressions[0].fieldType"/>
<input type="hidden" value="" name="expressions[0].limitedValues"/>
</td>
<td width="120" valign="top">
<select class="FormSelect" title="Operator" name="expressions[0].operationName">
<option selected="" value="contains">contains</option>
<option value="does not contain">does not contain</option>
</select>
</td>
<td valign="top">
<input class="FormSelect" type="text" title="Description" value="" name="expressions[0].values" maxlength="255" size="20"/>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

描述
创建日期
描述
包含
不包含
使用xpath

声明如下:

findElement(By.xpath(“您的元素xpath”)).getAttribute(“属性名”)

属性名称将是您案例的值

你也可以使用 driver.findElement(By.name(“元素名称”)).getAttribute(“属性名称”)

使用xpath

声明如下:

findElement(By.xpath(“您的元素xpath”)).getAttribute(“属性名”)

属性名称将是您案例的值

你也可以使用
driver.findElement(By.name(“元素名称”)).getAttribute(“属性名称”)

在这种情况下,如果要获取某个输入元素的值,可以使用以下方法:

IList<IWebElement> listOfInputs = driver.FindElements(By.TagName("input"));
string value = listOfInputs[index of input you want to check].GetAttribute("value");
IList listOfInputs=driver.FindElements(按.TagName(“输入”));
字符串值=listOfInputs[要检查的输入索引].GetAttribute(“值”);

在这种情况下,如果要获取某个输入元素的值,可以使用以下方法:

IList<IWebElement> listOfInputs = driver.FindElements(By.TagName("input"));
string value = listOfInputs[index of input you want to check].GetAttribute("value");
IList listOfInputs=driver.FindElements(按.TagName(“输入”));
字符串值=listOfInputs[要检查的输入索引].GetAttribute(“值”);

类似于@lost_船夫的回答,但有一些细节

在C#(Java将非常类似——主要是大写字母不同):

预期返回:值==“说明”

您还可以使表达式的“input[1]”部分更加具体,以防第一个输入标记中的值并不总是所需的值——例如,您只想从包含“name=”expressions[1].fieldType“”的输入标记中获取“value”属性。你的表情可能看起来像

string value = driver.FindElement(By.XPath("//b[text() = 'Description']/following-sibling::input[contains(@name, 'fieldType')]")).GetAttribute("value");

预期收益:value==“RF”

类似于@lost\u船夫的答案,但有一些细节

在C#(Java将非常类似——主要是大写字母不同):

预期返回:值==“说明”

您还可以使表达式的“input[1]”部分更加具体,以防第一个输入标记中的值并不总是所需的值——例如,您只想从包含“name=”expressions[1].fieldType“”的输入标记中获取“value”属性。你的表情可能看起来像

string value = driver.FindElement(By.XPath("//b[text() = 'Description']/following-sibling::input[contains(@name, 'fieldType')]")).GetAttribute("value");

预期返回:value==“RF”

我尝试了字符串value=driver.FindElement(By.XPath(“//b[text()='Description']/前面的同级::input[1]”);它成功了。ThanksI尝试了string value=driver.FindElement(By.XPath(“//b[text()='Description']/前面的同级::input[1]”);它成功了。谢谢