【问题标题】:How do I retrieve html table values(text) using Selenium 1 C# [closed]如何使用 Selenium 1 C# 检索 html 表值(文本)[关闭]
【发布时间】:2012-07-15 20:15:24
【问题描述】:

如果此类问题已得到解决,我深表歉意。
我正在尝试使用 Selenium(webdriver)检索网站的 HTML 表中显示的文本。我在 Visual Studios 2010 中使用 C# 进行编程。Html 如下所示:

<tbody>
<tr>
    <tr id="RFCol">
        <th class="subhead">
            <cufon class="cufon cufon-canvas" alt="BROCHURE " style="width: 60px; height: 12px;">
            <cufon class="cufon cufon-canvas" alt="FARE" style="width: 24px; height: 12px;">
        </th>
        <td class="">
            <span id="RFCol1" class="RFCol">
                <del>$5,190</del>
            </span>
        </td>
        <td class="">
            <span id="RFCol2" class="RFCol">
                <del>$6,660</del>
            </span>
        </td>
        <td class="">
        <td class="">
        <td class="">
    </tr>
    <tr id="PFCol">
    <tr id="CSDCol">
    <tr id="PFCol">
</tbody>

粗体字是我所追求的。我正在尝试将文本存储在字符串变量中,以准备将其写入文本文件。任何帮助将不胜感激,因为我无法做到这一点。下面是我的一些尝试。我尝试使用 xpath 来检索值,但不能。

IWebElement table_element11 = selenium.FindElement(By.XPath("/html/body/form/div[3]/div/div[2]/div[4]/table/tbody/tr[2]/td/span/del"));

【问题讨论】:

  • 大家好。我想通了这个问题,或者无论如何部分。我仍然无法使用 GetText() 或 GetTable() 等命令,这很奇怪,因为我使用的是 Selenium 和 webdriver pack。但无论如何。一个非常简单的解决方案就是使用上面的 xpath 访问元素。然后只需将对象转换为文本: IWebElement table_element11 = selenium.FindElement(By.XPath("/html/body/form/div[3]/div/div[2]/div[4]/table/tbody/tr[ 2]/td/span/del")); table_element11.text; (这将返回所需的结果)
  • 如果您认为没有人需要您的回答,您可以自己写一个答案或删除整个问题

标签: c# html .net selenium html-table


【解决方案1】:
"//del[contains(., '$')]"

使用此 XPath 将为您提供页面上包含 $ 符号的所有“del”元素。从这一点开始,您可以使用您希望访问数据的方法,就像您在评论中所说的那样。

【讨论】:

  • 由于某种原因,我无法使用 Xpath 完成此任务,这是我的问题的一部分。使用“其他”XPath 访问页面元素,我只是将其转换为文本。谢谢大家的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-21
  • 2019-08-09
  • 1970-01-01
  • 2015-05-22
  • 2016-09-19
相关资源
最近更新 更多