前提・実現したいこと
PYTHON初心者です。
練習も兼ね、SELENIUMを用いてとあるサイトからデータを
ダウンロードするというコードを書いております。
希望する形式のファイルのダウンロードボタンを押す際に
xpathを使って要素指定したところ、その時は問題なく実行されるのですが
一度終了してからもう一度実行してみると要素が見つからないとの
エラーが出てしまいます。
初回は何のエラーもなく実行されるためpath自体は間違ってないと思うのですが...
NoSuchElementException Traceback (most recent call last) <ipython-input-39-55fd26220fa9> in <module> ----> 1 frm = browser.find_element_by_xpath("/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[2]/div[5]/div[1]/div[2]/div[1]/div[1]/awsui-button-dropdown/div/div/ul/li[3]/ul/li[2]") 2 time.sleep(3) 3 frm.click() ~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_xpath(self, xpath) 392 element = driver.find_element_by_xpath('//div/td[1]') 393 """ --> 394 return self.find_element(by=By.XPATH, value=xpath) 395 396 def find_elements_by_xpath(self, xpath): ~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value) 974 by = By.CSS_SELECTOR 975 value = '[name="%s"]' % value --> 976 return self.execute(Command.FIND_ELEMENT, { 977 'using': by, 978 'value': value})['value'] ~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params) 319 response = self.command_executor.execute(driver_command, params) 320 if response: --> 321 self.error_handler.check_response(response) 322 response['value'] = self._unwrap_value( 323 response.get('value', None)) ~\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response) 240 alert_text = value['alert'].get('text') 241 raise exception_class(message, screen, stacktrace, alert_text) --> 242 raise exception_class(message, screen, stacktrace) 243 244 def _value_or_default(self, obj, key, default): NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[2]/div[5]/div[1]/div[2]/div[1]/div[1]/awsui-button-dropdown/div/div/ul/li[3]/ul/li[2]"} (Session info: chrome=87.0.4280.66)
該当のソースコード
frm=browser.find_element_by_xpath("/html/body/div[2]/div[2]/div/div/div/div/div[1]/div[2]/div[5]/div[1]/div[2]/div[1]/div[1]/awsui-button-dropdown/div/div/ul/li[3]/ul/li[2]") time.sleep(3) frm.click()
試したこと
この他ネット情報を参考にし、CSSセレクタやidなどでも実行してみましたがやはり1度目は成功しますが
2度目からはエラーが出てしまいます。
補足情報(FW/ツールのバージョンなど)
こちらのHTMLコードのPATHで要素を指定しております。
<li class="awsui-button-dropdown-item awsui-button-dropdown-item-has-bottom-border" role="menuitem" aria-label="CSV(.csv)形式" data-testid="salesDiagnosticDetail_csv" tabindex="-1">CSV(.csv)形式</li>また入りたいサイトがAMAZONになりますので、サイト特有の問題などもございましたら
併せて知りたいです。
回答1件
あなたの回答
tips
プレビュー