选择具有特定样式颜色的文本元素

2024-09-28 01:24:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一项搜集物品的工作要做。我知道我只需要一些红色的段落(#FF0000)。是否有一种方法可以使用Selenium WebDriver仅提取这种颜色的颜色?通过所有我需要刮取的页面,唯一始终相同的属性是文本颜色

例如,在以下URL中:https://www.boatos.org/saude/ivermectina-mata-covid-dois-dias-dose-unica.html

我希望webdriver仅返回以下段落,该段落最初为红色:

Versão 1: “IVERMECTINA REALMENTE MATA COVID-19 EM 2 DIAS COMPROVA ESTUDO”. Versão 2: “Cientistas descobriram que dose única de ivermectina pode remover todo o RNA do novo coronavírus em um período de 48 horas. Mesmo no primeiro dia, a redução do material genético do vírus é significativo”.


Tags: 方法颜色seleniumde页面物品do段落
1条回答
网友
1楼 · 发布于 2024-09-28 01:24:34

要打印文本Versão 1:“伊维菌素REALMENTE MATA COVID-19 em…”,您可以使用以下任何一种Locator Strategies

  • 使用css_selector文本属性:

    driver.get("https://www.boatos.org/saude/ivermectina-mata-covid-dois-dias-dose-unica.html")
    print(driver.find_element_by_css_selector("span[style] > em").text)
    
  • 使用xpathget_attribute("innerHTML")

    driver.get("https://www.boatos.org/saude/ivermectina-mata-covid-dois-dias-dose-unica.html")
    print(driver.find_element_by_xpath("//span[@style]/em").get_attribute("innerHTML"))
    

理想情况下,您需要为visibility_of_element_located()诱导WebDriverWait,并且您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTORget_attribute()

    driver.get("https://www.boatos.org/saude/ivermectina-mata-covid-dois-dias-dose-unica.html")
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span[style] > em"))).get_attribute("innerHTML"))
    
  • 使用XPATH文本属性:

    driver.get("https://www.boatos.org/saude/ivermectina-mata-covid-dois-dias-dose-unica.html")
    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[@style]/em"))).text)
    
  • 控制台输出:

    Versão 1: “IVERMECTINA REALMENTE MATA COVID-19 EM 2 DIAS COMPROVA ESTUDO”. Versão 2: “Cientistas descobriram que dose única de ivermectina pode remover todo o RNA do novo coronavírus em um período de 48 horas. Mesmo no primeiro dia, a redução do material genético do vírus é significativo”.
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

You can find a relevant discussion in How to retrieve the text of a WebElement using Selenium - Python


参考资料

链接到有用的文档:

相关问题 更多 >

    热门问题