Selenium webdriver 如何从li标记中获取文本

Selenium webdriver 如何从li标记中获取文本,selenium-webdriver,Selenium Webdriver,如何从li标记中获取文本?我只想找到文本“密码是必需的”,而不是强标记内的文本 <li><strong>Error:</strong> Password is required.</li> 错误:需要密码 您需要显示您的代码,以便有人给出完整的答案。我想你已经知道如何做下面的事情了 WebElement something = driver.FindElement(By.CssSelector(?)) string s = something.T

如何从li标记中获取文本?我只想找到文本“密码是必需的”,而不是强标记内的文本

<li><strong>Error:</strong> Password is required.</li>
  • 错误:需要密码

  • 您需要显示您的代码,以便有人给出完整的答案。我想你已经知道如何做下面的事情了

    WebElement something = driver.FindElement(By.CssSelector(?))
    string s = something.Text;
    
    下一位似乎是你被卡住的地方。这里需要解析字符串s。这与SeleniumWebDriver无关。你可以这样做

    string[] s2 = s.split(new string[] {">","<"});
    

    string[]s2=s.split(新字符串[]{“>”,“这是用python开发的方法

    def get_text_exclude_children(element):
        return driver.execute_script(
            """
            var parent = arguments[0];
            var child = parent.firstChild;
            var textValue = "";
            while(child) {
                if (child.nodeType === Node.TEXT_NODE)
                    textValue += child.textContent;
                    child = child.nextSibling;
            }
            return textValue;""",
            element).strip()
    
    如何在本系统中使用:

    liElement = driver.find_element_by_xpath("//li")
    liOnlyText = get_text_exclude_children(liElement)
    print(liOnlyText)
    

    请使用您可能的策略获取元素,此方法需要一个元素,您需要该元素中的文本(没有子文本)。

    您能提供html和代码吗?可能的重复使用一点outerHTML更新问题