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

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

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

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Q&A

解決済

1回答

509閲覧

PowershellでのIE自動化で、テキストボックスに値が入らない

Ta-tun

総合スコア26

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

0グッド

0クリップ

投稿2018/10/17 02:32

powershell 5.1
IE11

目的
jenkinsのダッシュボードの新規ジョブ作成のURLに移動してジョブを複製するのを、大量にあるので自動化しようとしています(手作業だとミスりそうなので…)
ターミナル上からは諸事情でパーミッションがないのでcurlで複製?が出来ないそうです。なのでブラウザ上からの自動化を依頼されました。

URL遷移後の操作
テキストボックス(仮にid:moto)に複製元のジョブ名を入れ、複製後のジョブ名を生成してテキストボックス(仮にid:saki)に入れてOKボタンを押します。

書き方
最初にISE上で逐一動きを確認しながら書いていき、正しく動いた分をスクリプトに蓄積させて完成させました。

現象
一通り出来たところでテストを開始ボタンを押したところ、テキストボックスmotoに値を入れるところでISEがデバッグのまま、止まってしまいます。motoには値は入っていません。
スクリプト実行のまま止まってしまい、停止ボタンを押しても通常の状態に戻らない(フリーズではない)ので、いちいちブラウザとISEを落として再度起動しないといけません。
値を入れるところでブレイクポイントを入れ、コマンドライン上から落ちるところの記述を実行すると値が入ります。

記述
スマホからなので全文は書けないですが、入力する記述は、
$ie.document.getElementById("moto").Value=$oldName
で、id=motoは対象の部品しかないことを確認しています。
入力直前にfocus()、click()するなど試しましたがだめでした。
($ieはInternetExplorer.Applicationのオブジェクト)
これまで何本か自動化スクリプトを書いてきましたがそれらとのちがいは、テキストボックスmotoにjqueryのautocompleteUrlが入っている点で、
これは何か関係があるのかないのか…?と疑問に思っています。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

seleniumで値を入れることができ、そして複製元のジョブ名の候補がズラッと出てくる光景を見て、もしかしたら入力候補を出そうとするjqueryの処理が絡んで、ISEの実行が止まってしまうのかなーというぼんやりとした予想をしました。
seleniumを使うことで、回避ができましたが、純粋にPowershellだけで書かないといけない条件だったらどうやって解決できたのか、少しもんやりしました。

投稿2018/10/17 07:04

Ta-tun

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問