Я хочу для ввода широты и долготы 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
лучше?
'mechanize' не может обрабатывать JavaScript, поэтому, вероятно, это не лучше для вашего дела. – cdonts
Вопрос в том, нужен ли JS или нет, но нужно ли * интерактивно * управлять реальным браузером, например. набрав. Если бы вы могли просто POST ваш длинный & lat до конечной точки/URL-адреса и получить обработанный объект данных обратно, то Mechanize или чистый HTTP будет намного лучше. В этом случае Selenium, вероятно, лучший способ. –
Я считаю, что мне нужно «набирать» lat и long внутри браузера, потому что URL-адрес страницы не изменяется. У меня есть опыт соскабливания. Но его мой первый раз, используя селен и ввод данных в браузер для выскабливания – AK9309