【发布时间】:2017-02-27 18:29:38
【问题描述】:
我有一张费用表,我正试图解析以返回数据,但它在实际返回数据字符串之前返回了一些空白。
<table id="Fees">
<thead>
<tr>
<th>Rate Code</th>
<th>Description</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<tr>
<td class="code">A1</td>
<td>Charge Type 1</td>
<td class="amount">$11.20</td>
</tr>
<tr>
<td class="code">C2</td>
<td>Charge Type 2</td>
<td class="amount">$36.00</td>
</tr>
<tr>
<td class="code">CMI</td>
<td>Cuba Medical Insurance</td>
<td class="amount">$25.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2">Total:</td>
<td class="amount">$145.16</td>
</tr>
</tfoot>
</table>
我通过 xpath 返回
private By lst_Fee
{
get { return By.XPath("//*[@id=\"Fees\"]/tbody/tr"); }
}
硒代码:
IList<IWebElement> fees = GetNativeElements(lst_Fee, 5);
List<string> actual = new List<string>();
foreach (IWebElement elem in fees)
{
actual.Add(GetText(elem, ControlType.Label));
}
问题
- ControlType.Label 是否适用于表格?在实际获取数据之前,我得到了一些空白元素。
- 如果我想将每个项目中的每个费率、描述和费用分开,以确保成本正确地加到总计中,我该怎么做?
【问题讨论】:
-
GetText()是做什么的,GetNativeElements(By by, int num)是什么?我希望您只想获得包含费用的列,而不是当您添加到实际时的整行,这看起来就像您现在正在做的那样。还涉及到ints的转换,这是一个相当大的问题。 -
您是否真的想存储/使用费率和描述,还是获得足够好的回报?
标签: c# selenium selenium-webdriver