前提・実現したいこと
pythonのseleniumを使用し、起動するとChromeを起動、teamspiritにアクセスし、ログイン後、出勤打刻までを自動で行うプログラムを作成する。
発生している問題・エラーメッセージ
ログインまでは成功しているものの、その後、出勤ボタンのクリックに失敗している模様
Traceback (most recent call last):
File "autoAttendance.py", line 37, in <module>
click_attendance_btn()
File "autoAttendance.py", line 31, in click_attendance_btn
attendance = driver.find_element_by_css_selector("#btnStInput")
File "/Users/"ユーザー名"/.pyenv/versions/3.6.0/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 598, in find_element_by_css_selector
return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
File "/Users/"ユーザー名"/.pyenv/versions/3.6.0/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 978, in find_element
'value': value})['value']
File "/Users/"ユーザー名"/.pyenv/versions/3.6.0/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/Users/"ユーザー名"/.pyenv/versions/3.6.0/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#btnStInput"}
該当のソースコード
python
1# coding:utf-8 2from selenium import webdriver 3from selenium.webdriver.chrome.options import Options 4from datetime import datetime 5import time 6 7def browser_init(): 8 chrome_options = Options() 9 prefs = {"profile.default_content_setting_values.notifications" : 2} 10 chrome_options.add_experimental_option("prefs",prefs) 11 chrome_options.add_argument("--allow-running-insecure-content") 12 chrome_options.add_argument("--allow-insecure-websocket-from-https-origin") 13 chrome_options.add_argument("allow-outdated-plugins") 14 driver = webdriver.Chrome("/Users/"ユーザー名"/Downloads/chromedriver", chrome_options=chrome_options) 15 return driver 16 17def login(): 18 driver.get("https://login.salesforce.com") 19 inputUserName = driver.find_element_by_css_selector("#username") 20 inputPassWord = driver.find_element_by_css_selector("#password") 21 loginBtn = driver.find_element_by_css_selector("#Login") 22 inputUserName.send_keys("ID名を入れています") 23 inputPassWord.send_keys("パスワードを入れています") 24 loginBtn.click() 25 26def click_attendance_btn(): 27 driver.implicitly_wait(10) 28 attendance = driver.find_element_by_css_selector("#btnStInput") 29 attendance.click() 30 31driver = browser_init() 32login() 33time.sleep(5) 34click_attendance_btn() 35 36
試したこと
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#btnStInput"}
該当の部分が見つからないとエラーが出ているため、xpathでの記載に変えたり、読み込みの待ち時間を変更したりなどしてみたものの、こちらのエラーが消えず。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/28 06:28
2019/02/28 06:39
2019/03/01 08:11