【问题标题】:Get all elements in IWebElement using XPATH使用 XPATH 获取 IWebElement 中的所有元素
【发布时间】:2016-02-17 03:35:21
【问题描述】:

我尝试过使用 webelement(和 IWebElement)和字符串列表,但我不断收到错误消息。如何通过 XPath 获取所有元素文本的列表或字符串?我有所有 Selenium 参考资料。我需要一些 java.util dll 吗?我应该实现一个 foreach 循环吗?

【问题讨论】:

  • 什么错误? "i've tried"..你能分享你试过的代码吗?
  • 公共列表 policy1Details = new List();public void PolicySummary1(int i) { policy1Details.Clear(); //var psummary = driver.FindElements(By.XPath("//ul[contains(@class,'discount-list')]/li")); var psummary = driver.FindElement(By.XPath("//div[@id='PolicyDetails_" + i + "']/div/table")); foreach (iwebelement d in psummary) { policy1details.add(d.text); } }
  • 根据您提供的代码片段,您使用错误的代码返回对象列表。这就是您出现异常/错误的原因。
  • 为什么在 C# 项目中需要 java.util dll?

标签: c# selenium


【解决方案1】:

我不知道你到底想做什么,但你可以使用以下代码获取元素文本。

  public List<String> policy1Details = new List<String>();
    public void PolicySummary1(int i)
    {
        //var driver = new FirefoxDriver();

        policy1Details.Clear();
        var psummary = driver.FindElements(By.XPath("//text()"));//give your xPath.

        //var psummary = driver.FindElement(By.XPath("//div[@id='PolicyDetails_" + i + "']/div/table"));
        foreach (IWebElement d in psummary)
        {
            //resultText.Add(d.Text);
            policy1Details.Add(d.Text);
        }
    }

如果有任何问题,请告诉我。

【讨论】:

    猜你喜欢
    • 2018-12-20
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多