メッセージが送信されました。 Traceback (most recent call last): File “Jenkins_buld.py”, line 75, in <module> login(driver,login_url,login_id,login_pass) File “Jenkins_buld.py”, line 24, in login driver.find_element(By.ID,”j_username”).clear() File “/home/share/jenkins_build/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py”, line 742, in find_element return self.execute(Command.FIND_ELEMENT, {“using”: by, “value”: value})[“value”] File “/home/share/jenkins_build/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py”, line 348, in execute self.error_handler.check_response(response) File “/home/share/jenkins_build/venv/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py”, line 229, 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”:”[id=”j_username”]”} (Session info: chrome-headless-shell=120.0.6099.216); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Stacktrace: #0 0x55a0d4cf5f83 <unknown>

エラーの内容から判断すると、driver.find_element(By.ID, "j_username")で指定されたIDの要素が見つからないようです。このエラーは、要素がまだ読み込まれていないか、指定されたIDが正しくない場合に発生します。

解決策としては以下のことが考えられます:

  1. 要素が正しいかどうかを確認する: HTMLソースを確認し、要素のIDが"j_username"であることを確認してください。

  2. 要素が読み込まれるまで待機する: ページがロードされるのを待ってから要素を探すことができます。これには、WebDriverWaitを使用して特定の条件を待機する方法があります。例えば、要素が表示されるまで待機することができます。

python
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # ログインフォームが表示されるまで待機 WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "j_username")))
  1. 要素を特定する他の方法を試す: IDがうまく機能しない場合、他の方法で要素を特定することもできます。例えば、XPathやCSSセレクタを使用することができます。
python
# XPathを使用して要素を検索 driver.find_element(By.XPATH, '//*[@id="j_username"]').clear()

これらの修正を試してみてください。それでも問題が解決しない場合は、HTMLソースや該当のウェブページの構造を確認して、適切な修正を行ってください。

未分類

Posted by ぼっち