【问题标题】:Read in Html text into label将 Html 文本读入标签
【发布时间】:2017-02-17 16:11:13
【问题描述】:

基本上我想知道的是如何将一些 HTML 文本读入标签(我正在从网站上抓取它),但我知道我无法将 Web 元素转换为字符串。有什么帮助吗?

顺便说一句。我对 C# 很陌生。

var points = driver.FindElement(By.CssSelector("#site-header > div > div > div.col-xs-8.col-sm-8.col-md-8 > div > div.header-right.header-user-functions > div:nth-child(5) > a > span"));
CustomLabel7.Text = points;

【问题讨论】:

  • 你现在的“积分”是多少?
  • 你试过了吗:driver.FindElement(By.CssSelector("#site-header > div > div > div.col-xs-8.col-sm-8.col-md-8 > div > div.header-right.header-user-functions > div:nth-child(5) > a > span")).toString(); ?
  • @A3006 我得到“无法将类型 'OpenQA.Selenium.IWebElement' 隐式转换为 'sting'”
  • @DaveS 现在它说 IWebElement 不包含对“toString”的定义。我是否缺少指令或程序集?
  • @Delvid Guerro 感谢您告诉我您的界面名称。 IWebElement 有一个名为 Text 的方法,这正是您所需要的。我会更新我的答案

标签: c# html web-scraping


【解决方案1】:

获取元素的文本属性

    IWebElement point = driver.FindElement(By.CssSelector("#site-header > div > div > div.col-xs-8.col-sm-8.col-md-8 > div > div.header-right.header-user-functions > div:nth-child(5) > a > span"));
if(point != null)
      CustomLabel7.Text = point.Text;

【讨论】:

    【解决方案2】:

    在您使用的 IWebElement 接口中有一个属性 Text,您可以调用它来获取所需的字符串:

    获取此元素的内部文本,不带任何前导或尾随空格,并且其他空格已折叠。

    来源:https://seleniumhq.github.io/selenium/docs/api/dotnet/html/P_OpenQA_Selenium_IWebElement_Text.htm

    var points =  driver.FindElement(By.CssSelector("#site-header > div > div > div.col-xs-8.col-sm-8.col-md-8 > div > div.header-right.header-user-functions > div:nth-child(5) > a > span"));
    
    // perform some kind of check if points has valid data
    
    if (points != null)
        CustomLabel7.Text = points.Text;
    

    【讨论】:

    • @DeividGuerrero - 很高兴听到!
    猜你喜欢
    • 2014-05-29
    • 2011-07-19
    • 1970-01-01
    • 2023-04-04
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2020-08-13
    相关资源
    最近更新 更多