【问题标题】:How to only get text or numbers from element如何只从元素中获取文本或数字
【发布时间】:2023-01-26 21:58:40
【问题描述】:

我只想从元素中获取文本,然后只从该元素中获取数字。

global textelement
    textelement = (WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='text-nowrap text-truncate']")))).text

我得到的文字看起来像这样

U(4) Leiknir

我希望一个变量仅包含元素中的文本,而另一个变量仅包含该文本中的数字,因此输出如下所示:

纯文本

U Leiknir

只有数字

4

是否有可能做到这一点?

【问题讨论】:

    标签: python selenium selenium-webdriver


    【解决方案1】:

    是的,您可以像这样使用正则表达式和过滤器功能来做到这一点。

    import re
    def filter_str(s):
        res_num = [int(match) for match in re.findall(r"d+", s)]
        res_str = "".join(filter(lambda x: not x.isdigit(), s))
        
        return res_num, res_str
    
    s = "U(4) Leiknir"
    a, b = filter_str(s)
    print("Numbers: ", a , "
    Str: ", b)
    

    输出:

    Numbers:  [4] 
    Str:  U() Leiknir
    

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 2021-03-25
      • 2021-09-04
      相关资源
      最近更新 更多