【问题标题】:C# - How to retrieve a value if you know the link textC# - 如果您知道链接文本,如何检索值
【发布时间】:2017-10-13 08:25:15
【问题描述】:

这是我正在使用的元素:

<option value="50418019731">44</option>

我知道“44”,但我试图从代码中获取值。我听说您可以使用 Selenium Web 驱动程序,但还没有找到任何特定的东西。这个值是静态的,所以不是动态的。

我的想法是通过知道“44”来检索所有 value="50418019731"

编辑: 有关更多上下文。我正在尝试从网站收集数据。该网站不允许您以 C# 下载他们的源代码,因此我正在使用该页面。元素。当我使用client.DownloadString("WebPage"); 方法时,网页返回“禁止”

【问题讨论】:

  • 你能给这个项目更多的背景信息吗? Selenium 通常用于自动化 Web 浏览器,读取和解析 HTML 可能更适合 HTMLAgility。
  • 另外,您想如何检索数据?用 JS 吗?
  • 我的目标是使用 C# 来自动收集网页数据,但如果可以用另一种方式完成,我愿意接受建议
  • download their source code 是什么意思?从您所说的看来,您只需使用您选择的 Web 浏览器控件导航到该页面,然后使用 HTMLAgility 解析 HTML。仅当您想与该页面进行交互(例如填写表单并提交)时才需要 Selenium。
  • 只需使用XDocument 从html string 检索您的数据

标签: c# html selenium selenium-webdriver element


【解决方案1】:

只需一行代码即可完成;

var elementvalue = driver.FindElement(By.XPath(".//option[contains(text(),'44')]")).GetAttribute("value");

简单易懂:)

【讨论】:

    【解决方案2】:

    我不懂C#,所以这段代码用JAVA写

    WebElement elem=    driver.findElement(By.xpath("//option[contains(text(), '44')]"));
    String ValueText= elem.getAttribute("value");
    System.out.println(ValueText);
    

    【讨论】:

      猜你喜欢
      • 2011-07-18
      • 1970-01-01
      • 2019-03-10
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多