【问题标题】:Selenium: Get visible text of childs of WebElement, separated by spacesSelenium:获取 WebElement 子项的可见文本,以空格分隔
【发布时间】:2022-01-24 03:07:09
【问题描述】:

我有一个有很多孩子的 WebElement(将其视为单个单词)。

我想获取该元素的所有可见文本。

使用 element.text 访问元素的文本会获取文本,但是子文本之间没有空格 - 所有字符串都连接起来,很难阅读。

当像这样迭代(有时是分层的)子级以获取文本时,也会检索不可见/重复的文本:

texts = [c.text for c in element.find_elements_by_tag_name("span")]

我想通过在站点/元素上找到的每个可见文本之间添加空格来以可读格式获取元素的可见文本(如 element.text)。 例如,为每个子项中的每个现有字符串添加一个空格就足够了。

什么是实现这一目标的好方法?

【问题讨论】:

    标签: python selenium selenium-webdriver list-comprehension webdriverwait


    【解决方案1】:

    要提取元素的可见文本,您需要将WebDriverWait 诱导为visibility_of_all_elements_located(),您可以使用以下任一Locator Strategies

    print([c.text for c in WebDriverWait(driver, 20).until(EC.visibility_of_all_elements_located((By.TAG_NAME, "span")))])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-18
      • 2015-10-18
      • 2016-06-28
      • 1970-01-01
      • 2023-03-19
      • 2022-12-05
      • 1970-01-01
      • 2015-12-09
      相关资源
      最近更新 更多