Python 3、Selenium、およびPhantomJSを使用して次のWebサイトをスクラップしようとしています。selenium.common.exceptions.NoSuchElementException:メッセージ:{"errorMessage": "id 'search-facet-city'の要素を見つけることができません。
https://health.usnews.com/best-hospitals/search
私は検索フィールドを見つけて、それにテキストを入力し、検索結果を生成するにはEnterキーを押しますする必要があります。以下は、私が見つけるためにしようとしている検索フィールドに対応する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>
は、ID使用して、この検索フィールドを見つけようと、私はPython 3のコードである「検索ファセット都市を。」
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エラーを受け取り続けます。それが存在するにもかかわらず、検索ボックス要素を見つけることができない。これをどうすれば解決できますか?
あなたのポストのタイトルの誤差は_class_として「サーチ・ファセット都市」を探しているが、あなたの投稿コードが_ID_としてそれを探します。どちらですか? –
申し訳ありませんが、それはタイプミスでした。それはidでなければなりません。 – rakeshb
そのURLを取得しようとすると、私は '403 Forbidden'レスポンスを取得します。あなたはそれを読むことができるのですか? –