【发布时间】:2016-08-03 16:04:29
【问题描述】:
我已经用尽了我的精神资源,无法解决这个难题。我正在尝试从 id =“lookupCount”的跨度中提取文本。我想要那里的“9”,但无论我多么努力,它都不起作用。请帮忙,下面是html。
为了清楚起见,我想要这个文本的值 - “9”
<div class="addressSelectionDiv" style="width:330px; margin-left:0px; margin-top:40px; ">
<table id="addressSelectionTable" align="center" width="100%" cellspacing="2" cellpadding="0">
<tbody>
<tr style="height:15px;">
<td>
<div id="App.ctl00_leftContent_addressSelection_validationLabel_Container" style="display:inline;">
<label id="ctl00_leftContent_addressSelection_validationLabel" class="x-label x-label-default x-border-box" for="" style="color:#981e32;font-size:1.0em;">
<img id="ext-gen1029" class="x-label-icon" src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" style="display: none;"/>
<span id="ext-gen1030" class="x-label-value"/>
</label>
</div>
<span id="lookups" style="visibility: hidden; float: right;">
<span id="lookupCount">9</span>
/
<span id="lookupLimit">100</span>
</span>
</td>
</tr>
<tr valign="top">
<tr>
</tbody>
</table>
</div>
这是我尝试过的
-
var x = Driver.FindElement(By.Id("lookupCount")).Text返回 "" -
var x = Driver.FindElement(By.Id("lookups")).Text返回 "" - 即使我删除了 .Text 属性,上述对象都不包含任何可以引导我找到答案的信息。
- 下面的 2 行在第 [0] 个元素中返回“”。
ICollection<IWebElement> table = Driver.FindElements(By.Id("lookups"));
List<IWebElement> elements = table.ToList();
下面的返回这个字符串:
Search for Household Decisions by entering an address or ZIP code:\r\n\r\n AL\r\n AK\r\n AZ\r\n AR\r\n CA\r\n CO\r\n CT\r\n DC\r\n DE\r\n FL\r\n GA\r\n HI\r\n ID\r\n IL\r\n IN\r\n IA\r\n KS\r\n KY\r\n LA\r\n ME\r\n MD\r\n MA\r\n MI\r\n MN\r\n MS\r\n MO\r\n MT\r\n NE\r\n NV\r\n NH\r\n NJ\r\n NM\r\n NY\r\n NC\r\n ND\r\n OH\r\n OK\r\n OR\r\n PA\r\n RI\r\n SC\r\n SD\r\n TN\r\n TX\r\n UT\r\n VT\r\n VA\r\n WA\r\n WV\r\n WI\r\n WY
ICollection<IWebElement> table = Driver.FindElements(By.Id("addressSelectionTable"));
List<IWebElement> elements = table.ToList();
【问题讨论】:
-
我尝试了所有我能想到的方法:使用“addressSelectionTable”获取元素并循环遍历它们,只返回了一堆与我的目的无关的文本。使用 id="lookups" 阅读文本。使用 'id=lookupCount' 查看任何值。都是这样的,“Driver.FindElement(By.Id("lookupCount")).Text”,只是改变了Id。它们要么返回与我的目的无关的文本字符串,要么返回“”。
标签: c# html selenium webdriver