Я пытаюсь очистить следующий веб-сайт, используя Python 3, Selenium и PhantomJS:
https://health.usnews.com/best-hospitals/search
Мне нужно найти поле поиска и ввести в него текст, а затем нажать клавишу ввода, чтобы сгенерировать результаты поиска. Ниже приведен HTML-код, соответствующий полю поиска, которое я пытаюсь найти:
<div class="search-field-view">
<div class="block-tight">
<label class="" for="search-facet-city">
<input id="search-facet-city" autocomplete="off" name="city"
type="text" data-field-type="text" placeholder="City, State or ZIP"
value="" />
</label>
</div>
</div>
Ниже приведен мой код Python 3, который пытается найти это поле поиска, используя идентификатор «search-facet-city».
def scrape(self):
url = 'https://health.usnews.com/best-hospitals/search'
location = 'Massachusetts'
# Instantiate the driver
driver = webdriver.PhantomJS()
driver.get(url)
driver.maximize_window()
driver.implicitly_wait(10)
elem = driver.find_element_by_id("search-facet-city")
elem.send_keys(self.location)
driver.close()
Мне нужно очистить некоторые результаты со страницы после ввода текста в поле поиска. Однако я продолжаю получать ошибку NoSuchElementException; он не может найти элемент окна поиска, несмотря на то, что он существует. Как я могу это исправить?
403 Forbidden
. Ты уверен, что умеешь читать? - person John Gordon   schedule 27.10.2017wget
в командной строке. Веб-сайт, вероятно, запрещает клиентам-роботам. Я попробовал URL-адрес в Chrome, и страница загрузилась, однако мой Mac полностью завис, когда я пытался просмотреть исходный код, поэтому я не думаю, что снова буду посещать эту страницу. - person John Gordon   schedule 27.10.2017