こんにちは。
PythonのSeleniumですが、ログインした後にジャバスクリプトのポップアップがでてきます。
コードの中の「<a href="javascript:show_detail();"><img src="images/btn-link.png" alt="詳しくはこちら" class="png alpha trackingGA"></a>」をクリックしてポップアップを閉じたいと思っています。
しかし、エラーになってしまいます。
classの指定方法が間違っているのでしょうか?
わかる方教えてください。
よろしくお願いします。
≪WEBソース≫↓
<body> <div id="popup" style="display: none;"> <div id="inner"> <div id="btnWrap"> <div class="btnLeft"> <a href="https://shop17.makeshop.jp/makeshop/newmanager/index.html"><img src="images/btn-later.png" alt="あとで見る" class="png alpha trackingGA"></a> <a href="javascript:close_popup();"><img src="images/btn-hide.png" alt="もう表示しない" class="png alpha trackingGA"></a> </div> <a href="javascript:show_detail();"><img src="images/btn-link.png" alt="詳しくはこちら" class="png alpha trackingGA"></a> </div> </div> </div> <div id="glayLayer" style="display: block;"></div><div id="overLayer" style="display: block; margin-top: -220px; margin-left: -320px;"> <div id="inner"> <div id="btnWrap"> <div class="btnLeft"> <a href="https://shop17.makeshop.jp/makeshop/newmanager/index.html"><img src="images/btn-later.png" alt="あとで見る" class="png alpha trackingGA"></a> <a href="javascript:close_popup();"><img src="images/btn-hide.png" alt="もう表示しない" class="png alpha trackingGA"></a> </div> <a href="javascript:show_detail();"><img src="images/btn-link.png" alt="詳しくはこちら" class="png alpha trackingGA"></a> </div> </div> </div></body> ------------------------------------≪プログラム≫↓
from selenium import webdriver
driver = webdriver.Chrome("Selenium/chromedriver.exe")
#driver = webdriver.Chrome()
driver.get('https://www.**.jp/main/login/')
elem_username = driver.find_element_by_name('id')
elem_username.send_keys('')
elem_password = driver.find_element_by_name('passwd')
elem_password.send_keys('')
driver.find_element_by_class_name('login-button').click()
driver.find_element_by_class_name('png alpha trackingGA').click()
≪エラー≫↓
NoSuchElementException Traceback (most recent call last)
<ipython-input-17-26572f4867ef> in <module>
12 driver.find_element_by_class_name('login-button').click()
13
---> 14 driver.find_element_by_class_name('png alpha trackingGA').click()
15
~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_class_name(self, name)
562 element = driver.find_element_by_class_name('foo')
563 """
--> 564 return self.find_element(by=By.CLASS_NAME, value=name)
565
566 def find_elements_by_class_name(self, name):
~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value)
976 return self.execute(Command.FIND_ELEMENT, {
977 'using': by,
--> 978 'value': value})['value']
979
980 def find_elements(self, by=By.ID, value=None):
~\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":"css selector","selector":".png alpha trackingGA"}
(Session info: chrome=78.0.3904.108)
回答1件
あなたの回答
tips
プレビュー