【问题标题】:How to scrape span tag that is inside a iframe using Selenium?如何使用 Selenium 抓取 iframe 内的 span 标签?
【发布时间】:2021-08-07 23:00:33
【问题描述】:
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,'//[@id="dataviscontainer"]/div/iframe')))
span_texts = [item.text for item in driver.find_elements_by_css_selector('span')] 
print(span_texts)

我的目标是从多个 span 标签中抓取文本,这些标签实际上位于 iframe 内的下拉列表中,并且 iframe 没有任何名称类或 ID,因此我使用了 XPath。运行此代码后,我得到一个空列表。下面是 2 个包含文本的 span 标签

<span class="slicerText" title="Albury (C)" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); border-style: solid; border-color: rgb(96, 94, 92); border-width: 0px; font-size: 13.3333px; font-family: Arial; line-height: 17px;">Albury (C)</span>
<span class="slicerText" title="Armidale Regional (A)" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); border-style: solid; border-color: rgb(96, 94, 92); border-width: 0px; font-size: 13.3333px; font-family: Arial; line-height: 17px;">Armidale Regional (A)</span>

【问题讨论】:

    标签: python selenium web-scraping iframe


    【解决方案1】:

    您应该首先在变量中选择 iframe 元素,然后将跨度选择应用于包含 iframe 引用的变量。

    这个answer 应该可以帮到你。

    【讨论】:

    • 我确实检查了该答案我不想添加文本我想在每次尝试时刮掉该文本它给我一个空列表
    • selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{"method":"XPATH","selector":"/html/body/div[6] /div[1]/div/div[2]/div/div[1]/div/div/div[2]/div/span"}
    【解决方案2】:

    您是否正在寻找这样的东西:

    spanText = driver.find_elements_by_xpath(".//span[@class='slicerText']")
    for e in spanText:
        print(e.get_attribute("title"))
    

    【讨论】:

      【解决方案3】:
      var iframe = driver.findElements(By.tagName("iframe"))
      driver.switchTo().frame(iframe)
      
      
      WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,'//[@id="dataviscontainer"]/div/iframe')))
      span_texts = [item.text for item in
      driver.find_elements_by_css_selector('span')] 
      print(span_texts)
      

      )

      【讨论】:

      • var iframe 之间的空格报错
      猜你喜欢
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      相关资源
      最近更新 更多