Autoit+SeleniumBasicでChromeを操作(動かないときは)

Autoit, Seleniumでブラウザ操作

IEをSeleniumから、操作は意外と簡単に設定できますが、ChromeはVersionが変わるたびに結構問題が発生します。動いていたものが動かなくなります。

Seleniumは、ブラウザを操作するための土台(フレームワーク)
フレームワークとは、基礎的な機能をまとめたもの。
アプリは、フレームワーク +  特別な機能を作ってプラスする

バージョン: 84.0.4147.105で動かない問題発生

Ver 81.0.4044.129では問題なく動いていました。

ChromeDriverのページ、英語ですが解決方法でていました。

こちらの記事を参考にしました:

それ以外の場合で、問題が特別なテスト環境でのみ発生する場合:
Chromeの代替インストーラーを使用する。これにより、すべてのユーザーにChromeがインストールされます。これにより、Seleniumをバックグラウンドサービスとして実行している場合に問題が解決することがよくあります。

Google翻訳で見ると、普通にChrome入れるのではなく「代替インストーラ」を使うと解決するようです。私も一度、完全にChromeアンイストールし上記の方法で入れ直したら、動くようになりました。

都道県選択:福島県 >>検索ボタン押す .Click()

Click Item

国土交通省 | 建設業者 検索
https://etsuran.mlit.go.jp/TAKKEN/kensetuKensaku.do?outPutKbn=1

① 福島県を選択 ② 「検索」ボタンクリック

ChromeのInspectorを使いxPathを調べます。

$drive.FindElementByXpath('//*[@id="input"]/div[6]/div[5]/img').Click() ;// 検索ボタン

表示データ取得

表示された表のデータをCSVに取り込みたい。
CSVデータ

$csv = $driver.FindElementsByClass('re_disp')(1).Text ;// 表のダータ取得
ClipPut ($csv)

Tableデータの表示部分のみを取得、そのデータをクリップボードに送る

秀丸エディタに貼り付けてみました。

秀丸に貼り付け

Selenium 説明サイトないので、色々実験してみる

Chromeのサイズを変更

$driver.window.SetSize(1000,700)  ;// windowのサイズを変更する

Chromeの位置移動

$driver.window.SetPosition(500,300)

コメント

タイトルとURLをコピーしました