【发布时间】:2016-07-16 07:58:12
【问题描述】:
所以有很多关于stackoverflow上的动态内容抓取的问题,我经历了所有这些,但所有建议的解决方案都不适用于以下问题:
上下文:
- 在 python 中使用 Selenium webdriver
- 我主要使用这个资源:http://selenium-python.readthedocs.org/page-objects.html 关于 Python.org 示例。
- 要抓取的页面: http://propertymap.sfplanning.org/
问题:
我无法访问此页面上的任何 DOM 元素。请注意,如果我能得到一些关于如何访问搜索栏和搜索按钮的提示,那将是一个很好的开始。 See page to scrape 我最终想要的是浏览地址列表,启动搜索,然后复制屏幕右侧显示的信息。
我尝试了以下方法:
- 更改了 webdriver 的浏览器(从 Chrome 到 Firefox)
-
增加了页面加载的等待时间
try: WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((By.ID, "addressInput"))) except: print "address input not found" - 尝试通过 ID、XPATH、NAME、TAG NAME 等访问项目,但没有成功。
问题
- 到目前为止我还没有尝试什么(使用 Selenium webdriver)?
- 有些网站真的不能爬取吗? (我不认为这个城市在我每次重新加载页面时都使用算法来生成任何随机 DOM)。
【问题讨论】:
-
使用 find_by_* 方法之一查找搜索字段,发送 Keys.ENTER
-
问题是它找不到元素......不是关于如何发送密钥。
-
你的问题有两部分:“如果我能得到一些关于如何访问搜索栏的提示,和搜索按钮”...我提供了各种方法寻找 (
find_by_*) 来定位一个元素。 (接受的答案选择find_element_by_id)。另请注意,在实践中按回车键绕过元素查找和模拟点击往往更快、更可靠。
标签: python selenium selenium-webdriver web-scraping scraper