【问题标题】:WebScraping issues in python using Selenium使用 Selenium 在 python 中的 Web Scraping 问题
【发布时间】:2019-01-06 23:16:50
【问题描述】:

我正在尝试从this website called Anhembi 抓取数据

但是当我尝试使用 selenium 中的所有选项来查找元素时,我什么也得不到。有人知道为什么会这样吗?

我已经试过了:

driver.find_element_by_xpath('//*[@class="agenda_result_laco_box"]') 

并通过for-loop点击每一个并获取我需要的信息,其中包括事件的日期、网站和名称。我该怎么做?

【问题讨论】:

  • 网址打开后能否给我们手动操作步骤?
  • 你能举个例子吗?
  • x = driver.find_element_by_name('month') print(range(len(x)))
  • 网站打开后你的目标是什么?
  • 这个东西的范围 len 返回 [0,0]

标签: python selenium web-scraping


【解决方案1】:

显然,其中涉及到一个 iframe,您需要切换 Web 驱动程序的焦点才能与 iframe/frameset/frame 中的元素进行交互。

你可以试试这个代码

driver.get("http://www.anhembi.com.br/agenda/") 

driver.switch_to.frame(driver.find_element_by_css_selector("iframe[src='http://intranet.spturis.com.br/intranet/modulos/booking/anhembisite_busca.php']"))
all_data = driver.find_elements_by_css_selector("div.agenda_result_laco_box")

print(len(all_data))

for data in all_data:
  print(data.text)

【讨论】:

  • 你能解释一下什么是 iframe 吗?
  • iframe 基本上是用于在当前 HTML 文档中嵌入另一个文档。有关更多信息,您可以参考:w3schools.com/tags/tag_iframe.asp
  • 我怎样才能得到 + simbol 的所有信息呢?
  • 没找到你。所有信息意味着什么?使用上面的代码,您将获得Você buscou: JULHO DE 2018 下的所有内容,我不知道 +simbol 是什么?
  • 如果你说的是前面有 date 的 + 号,那么你将不得不一个一个地点击每个 + 号并抓取数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 2017-05-14
  • 2020-01-16
  • 2018-04-07
  • 1970-01-01
  • 2019-09-06
  • 2021-03-12
相关资源
最近更新 更多