[英]Change the value in a cell of a table in Web Element using Selenium in C#
我使用此代码从网页中读取表格中的每个单元格。
IList<IWebElement> all = driver.FindElements(By.ClassName("a-keyvalue"));
if (all.Count > 0)
{
String[] allText = new String[all.Count];
int i = 0;
string test = "";
foreach (IWebElement element in all)
{
//writeraa.WriteLine(element.Text);
allText[i++] = element.Text;
test = allText[i - 1];
}
string[] aa = test.Replace("\n", "").Split('\r');
string JI = string.Join("", aa).Replace("\r\n", "").Replace("\r", "").Replace("\n", "");
使用此代码,我可以读取其中包含值的 2 行。 我想将数字行中的值“1”更改为 500。(示例 - [Number | 1] 到 [Number | 500])
你能帮我知道如何访问数字单元格并相应地设置值吗?
提前致谢。
HTML 代码
<div class="content_view_list">
<div>
<h3></h3>
<table class="a-keyvalue">
<tbody>
<tr>
<th>
<div class="tableHeader">
Item Name
</div>
</th>
<td>
<div>
Wolike Powerful Aluminium Alloy Rubber Tubing Camouflage Bow Catapult Outdoor Hunting Fishing Slingshot
</div>
</td>
</tr>
<tr>
<th>
<div class="tableHeader">
Number
</div>
</th>
<td>
<div class="tableDetails">
3
</div>
</td>
</tr>
<tr>
<th>
<div class="tableHeader">
Defect Body
</div>
</th>
<td>
<div>
CR-<span style="background-color:rgb(255,130,67)">DAMAGE</span>D_BY_CARRIER test
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
由于“数字”单元格不是文本输入,您可以让 Selenium 执行 JavaScript,这将更改该单元格中的文本。
var executor = (IJavaScriptExecutor)driver;
var number = 500;
executor.ExecuteScript($"arguments[0].innerHTML = '{number}';", element);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.