前提・実現したいこと
抽選サイトで抽選可能なものに申し込みを自動で行うシステムを作りたいと思っています。
抽選できるものには申し込みボタンがあり、自動で申し込みボタンを見つけ、クリックするシステムを組みたいと思っています。
1か所につき申し込みは一度まで、常に抽選があるのではなく、抽選がない場合には「不可」を出力され、システムを閉じるようにしたいです。
pythonのseleniumを使い、途中でつまずいてしまったため、解決方法をご教授いただきたいです。
おそらくsys.exit()が邪魔をしているのではないかと考えていますが、解決策がわかりません。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- NoSuchElementException Traceback (most recent call last) <ipython-input-38-ec29e3e3dcb7> in <module> 2 try: ----> 3 element = browser.find_element_by_xpath('//img[@alt=\"申込\"]') 4 except: C:\anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_xpath(self, xpath) 393 """ --> 394 return self.find_element(by=By.XPATH, value=xpath) 395 C:\anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value) 975 value = '[name="%s"]' % value --> 976 return self.execute(Command.FIND_ELEMENT, { 977 'using': by, C:\anaconda\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params) 320 if response: --> 321 self.error_handler.check_response(response) 322 response['value'] = self._unwrap_value( C:\anaconda\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response) 241 raise exception_class(message, screen, stacktrace, alert_text) --> 242 raise exception_class(message, screen, stacktrace) 243 NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//img[@alt="申込"]"} (Session info: chrome=93.0.4577.82) During handling of the above exception, another exception occurred: NameError Traceback (most recent call last) <ipython-input-38-ec29e3e3dcb7> in <module> 5 print('不可') 6 browser.quit() ----> 7 sys.exit() NameError: name 'sys' is not defined
該当のソースコード
pyhon
try: element = browser.find_element_by_xpath('//img[@alt=\"申込\"]') except: print('不可') browser.quit() sys.exit()
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー