質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

受付中

.doで終わるURLページでseleniumのclick()ができません.

msj
msj

総合スコア0

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0回答

0評価

0クリップ

415閲覧

投稿2022/01/10 08:42

編集2022/01/12 10:55

前提・実現したいこと

職場の勤怠管理システム内で自動入力などをしたく,pythonでseleniumを使ったコードを書いています.
ページ遷移のため,xpathを指定してボタンclick()を実行しましたが,NoSuchElementExceptionとでるページがあり,思ったようなページ遷移できません.

URLは,https://ess.bulas180.com/***/Portal/SSO.doと,.doで終わっており,
Strutsで作成されたファイルらしいということはわかりましたが,それに対する解決策はわかっていません.
ご教示いただけますと幸いです。

発生している問題・エラーメッセージ

NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/table/tbody/tr/td/table[3]/tbody/tr[2]/td[3]"} (Session info: chrome=96.0.4664.110)

該当のソースコード

python

xpath='/html/body/table/tbody/tr/td/table[3]/tbody/tr[2]/td[3]' driver.find_element_by_xpath(xpath).click()

試したこと

・driver.find_element_by_xpath(xpath).submit()も同じようなエラーが出ます.
・print(driver.page_source)を実施すると,下記が出力されます.
ここに上記のxpath='/html/body/table/tbody/tr/td/table[3]/tbody/tr[2]/td[3]'が出てこないということは,driverがそのページを認識できていないということでしょうか.

<html><head> <!-- 2016/1/5 IE11対応 --> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"> <meta http-equiv="Content-Type" content="text/html; charset=MS932"> <title>Bulas Portal</title> <script src="chrome-extension://mooikfkahbdckldjjndioackbalphokd/assets/prompt.js"></script></head> <frameset rows="*" frameborder="NO" border="0" framespacing="0" data-new-gr-c-s-check-loaded="14.1043.0" data-gr-ext-installed=""> <frame src="/E0671_Bulas/view/frm010200.jsp" name="portalFrame" scrolling="NO" noresize=""> <script>mendeleyWebImporter = { downloadPdfs(e,t) { return this._call('downloadPdfs', [e,t]); }, open() { return this._call('open', []); }, setLoginToken(e) { return this._call('setLoginToken', [e]); }, _call(methodName, methodArgs) { const id = Math.random(); window.postMessage({ id, token: '0.48423156882234286', methodName, methodArgs }, 'https://ess.bulas180.com'); return new Promise(resolve => { const listener = window.addEventListener('message', event => { const data = event.data; if (typeof data !== 'object' || !('result' in data) || data.id !== id) return; window.removeEventListener('message', listener); resolve(data.result); }); }); } };</script></frameset> <noframes><body> </body></noframes> <grammarly-desktop-integration data-grammarly-shadow-root="true"></grammarly-desktop-integration></html>

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。