前提
閲覧頂きありがとうございます。
為替レートの情報を自動で取得したく
スクレイピングを試みています。
下記のサイトでCookieの同意をクリックした後、
「」の項目に入力するため要素の取得をしたいのですが、
要素が見つからずエラーとなります。
■対象ページ
https://usa.visa.com/support/consumer/travel-support/exchange-rate-calculator.html
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- NoSuchElementException Traceback (most recent call last) Cell In[13], line 1 ----> 1 irame = browser.find_element(By.XPATH, '//*[@id="input_amount_paid"]') File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py:861, in WebDriver.find_element(self, by, value) 858 by = By.CSS_SELECTOR 859 value = '[name="%s"]' % value --> 861 return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"] File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py:444, in WebDriver.execute(self, driver_command, params) 442 response = self.command_executor.execute(driver_command, params) 443 if response: --> 444 self.error_handler.check_response(response) 445 response["value"] = self._unwrap_value(response.get("value", None)) 446 return response File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\errorhandler.py:249, in ErrorHandler.check_response(self, response) 247 alert_text = value["alert"].get("text") 248 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 249 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="input_amount_paid"]"} (Session info: chrome=109.0.5414.75) Stacktrace: Backtrace: (No symbol) [0x00806643] (No symbol) [0x0079BE21] (No symbol) [0x0069DA9D] (No symbol) [0x006D1342] (No symbol) [0x006D147B] (No symbol) [0x00708DC2] (No symbol) [0x006EFDC4] (No symbol) [0x00706B09] (No symbol) [0x006EFB76] (No symbol) [0x006C49C1] (No symbol) [0x006C5E5D] GetHandleVerifier [0x00A7A142+2497106] GetHandleVerifier [0x00AA85D3+2686691] GetHandleVerifier [0x00AABB9C+2700460] GetHandleVerifier [0x008B3B10+635936] (No symbol) [0x007A4A1F] (No symbol) [0x007AA418] (No symbol) [0x007AA505] (No symbol) [0x007B508B] BaseThreadInitThunk [0x76A100F9+25] RtlGetAppContainerNamedObjectPath [0x77747BBE+286] RtlGetAppContainerNamedObjectPath [0x77747B8E+238]
該当のソースコード
Python
1!pip install selenium 2from selenium import webdriver 3!pip install webdriver_manager 4from time import sleep 5 6from webdriver_manager.chrome import ChromeDriverManager 7 8from selenium.webdriver.common.by import By 9 10elem_ok_btn = browser.find_element(By.XPATH, '//*[@id="CookieReportsBanner"]/div[1]/div[2]/a[1]') 11elem_ok_btn.click() 12 13#エラー箇所↓↓ 14irame = browser.find_element(By.XPATH, '//*[@id="input_amount_paid"]')
試したこと
※XPATH、chras名などで指定しようと試みましたが、
いずれもエラーになります。
※iframeが使用されている場合は
htmlを確認しましたが、該当箇所ではframeは
使用されていないのか、同様にエラーとなりました。
補足情報(FW/ツールのバージョンなど)
Python 3.11.1
selenium 4.7.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/01/19 13:13
2023/01/20 06:39
2023/01/22 10:48
2023/01/22 14:47
2023/01/23 10:55
2023/01/29 08:24