前提
pythonでseleniumを使い、自動でサイトのボタンを押したいのですが(https://porty.co.jp/assess/)
このサイトのボタンは全て同じsvgになっていて取得しようと思ってもどう区別して取得するのかが分かりません。XPATHで取得しようと試みたのですがこれもエラーが出てできませんでした。取得する方法がどう調べても出てこないので教えて頂きたいです。
実現したいこと
svgのボタンをエレメントとして取得したい
発生している問題・エラーメッセージ
① NoSuchElementException Traceback (most recent call last) Input In [7], in <cell line: 1>() ----> 1 elem_walk = browser.find_element(By.XPATH, '//*[@id="__next"]/div/main/div[3]/div/form/div[2]/div[2]/svg[2]') File ~\anaconda3\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 ~\anaconda3\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 ~\anaconda3\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="__next"]/div/main/div[3]/div/form/div[2]/div[2]/svg[2]"} (Session info: chrome=108.0.5359.125) Stacktrace: Backtrace: (No symbol) [0x00ABF243] (No symbol) [0x00A47FD1] (No symbol) [0x0093D04D] (No symbol) [0x0096C0B0] (No symbol) [0x0096C22B] (No symbol) [0x0099E612] (No symbol) [0x009885D4] (No symbol) [0x0099C9EB] (No symbol) [0x00988386] (No symbol) [0x0096163C] (No symbol) [0x0096269D] GetHandleVerifier [0x00D59A22+2655074] GetHandleVerifier [0x00D4CA24+2601828] GetHandleVerifier [0x00B68C0A+619850] GetHandleVerifier [0x00B67830+614768] (No symbol) [0x00A505FC] (No symbol) [0x00A55968] (No symbol) [0x00A55A55] (No symbol) [0x00A6051B] BaseThreadInitThunk [0x76636BD9+25] RtlGetFullPathName_UEx [0x771D8FD2+1218] RtlGetFullPathName_UEx [0x771D8F9D+1165]
該当のソースコード
python
1①XPATHで取得(エラー) 2elem_walk = browser.find_element(By.XPATH, "//*[@id="__next"]/div/main/div[3]/div/form/div[2]/div[2]/svg[2]") 3 4②CSSセレクタで取得(成功しますが1つのボタンしか指定できない) 5elem_walk = browser.find_element(By.CSS_SELECTOR, 'div > svg:nth-of-type(2)')
試したこと
①XPATHで取得(エラー)
②CSSセレクタで取得(成功しますが1つのボタンしか指定できない)
補足情報(FW/ツールのバージョンなど)
GoogleChromeドライバのバージョン108.0.5359.71
GoogleChromeのバージョン→108.0.5359.125
開発環境→JupyterNotebook(6.4.8)/Python 3 (ipykernel)

回答1件
あなたの回答
tips
プレビュー