使用硒输入数据和刮擦

时间:2016-03-08 23:35:15

标签: python selenium web-scraping

我想将纬度和经度输入http://www.earthpoint.us/TownshipsSearchByLatLon.aspx并刮取产生的乡镇信息

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.earthpoint.us/TownshipsSearchByLatLon.aspx")
elem = driver.find_element_by_id("ContentPlaceHolder1_Latitude")
elem2 = driver.find_element_by_id("ContentPlaceHolder1_Longitude")

latitude = '32.8699363',
longitude = '-93.9224662'

elem.send_keys(latitude)
elem2.send_keys(longitude)

elem.send_keys(Keys.RETURN)

这将打开包含所需信息的页面。

我会使用类似needed_info = driver.find_element_by_xpath('some_path')

的内容吗?

硒也是最好的方法吗?有没有办法不打开浏览器窗口?

我已经检查了stackoverflow上的几个线程,selenium包似乎是最简单的使用。 mechanize会更好吗?

1 个答案:

答案 0 :(得分:0)

elem3 =  [symbol.text for symbol in driver.find_elements_by_xpath('//div[@id="ContentPlaceHolder1_LatLonLiteralDiv"]//table//tr[2]//td[@style="border: solid 1px black; padding: 6px"]//table[@width="225"]//tr//td[2]') if symbol.text]
elem3 = elem3[0].split(',')
print elem3

这样我就可以获得所需的信息。