• ベストアンサー

WindowsからChromeのDOM操作

WSHからIEオブジェクトを作成してDOM操作の様な処理 をChromeでも可能でしょうか? 出来ればネイティブ環境が好ましいですが、恐らく無理であろうなので 既存のエクステンションなどサードパーティ含めて可能性として教えて下さい。 具体的に得たいDOM操作としては ・ボタンなどWEBページ内の要素へのアクセスや遷移 ・readystateなどの読み込み状況の取得

質問者が選んだベストアンサー

  • ベストアンサー
  • ballville
  • ベストアンサー率47% (233/487)
回答No.1

SelenuimBasicを使います。 https://florentbr.github.io/SeleniumBasic/ このほか、chromedriver https://sites.google.com/a/chromium.org/chromedriver/ とchromedriverと同一バージョンのchrome本体が必要です。 chrome←chromedriver←SelenuimBasic←WSH or VBA で操作を行うシステムになります。

popepon
質問者

お礼

ご回答有難うございます。 参考にさせて頂きます。

関連するQ&A

  • JavaScript DOMについて

    JavaScriptの勉強を始めて、1か月程度の初心者です。 JavaScriptを使って、計算したり、カレンダーを作ったり、 HTMLの要素の内容を変更させたり、削除したり、 スタイルシートのプロパティ?を変更して、背景色を変えたり、要素を移動したり、 イベントを使用したりと、出来ることは増えてきて、勉強するのが楽しくなってきたのですが、 いまだにDOM操作についていまいち理解できていません。 具体的にDOMとはどこからどこまでなんでしょうか? JavaScriptに組み込まれているオブジェクト(Date,Math、String、Array) 以外のものは、すべてDOM操作と言う事でしょうか? イベントハンドラだとか、タイマ機能?(windowオブジェクトのsetTimeout()メソッド)なども DOMと言う事でしょうか? どなたかわかりやすく説明してもらえると嬉しいです。

  • Google Chrome の脆弱性

    IEの脆弱性が大問題になりましたが、Google Chromeは問題ないのでしょうか? IEはMSEソフトを無償で提供している、サードパーティのウイルス対策ソフトも数多く存在します。 また、頻繁に安全対策のためのパッチを当てるようになっていますが、Google Chrome には、そのような対策は見当たらないし、自動更新しているようにもみえません。 安心して使っていいのでしょうか?お分かりの方、お教えください。

  • 起動済みのIEをハンドルから操作するには

    既に起動済みのIEブラウザをWSH(VBS)などから、ハンドルを取得して HTMLソース内のフォームに値をセット(Document forms elementなどで) する事はできますでしょうか? 出来るとすれば、IEを捕まえて操作するには、どのようにすれば良い でしょうか? ■補足 起動したIEは、自身のスクリプトからオブジェクトを生成したもの では無く、ウインドウタイトルくらいしか解りません。

  • 統合windows認証でのChromeの動作

    お世話になっております。 イントラネットのブラウザをIEからChromeに変更できないかという要望をいただきました。 試しにChromeで表示したところエラー(例外発生)となり表示できませんでした。 IEでは問題なく表示できます。 Chromeの設定の問題でしょうか? ■環境 IIS,統合windows認証,ユーザー偽装設定,C# Webサーバー:windows 2008 ドメインコントローラー:Windows 2008 クライアント:Windows XP SP3 (IE8, Chrome最新) ■動作 ユーザーの情報をADから取得するところで、例外が発生しています。 DirectoryEntry entry = new DirectoryEntory("LDAP://DC=xx"); Object o = entry.NativeObject; // ここで、ComException発生(操作エラー) 以下で実行ユーザーを調べてみましたが、IEもChromeも同じくクライアントのドメインユーザーでした。 ・Enviroment.UserName ・HttpContext.User.Identity ■補足 Webサーバー上でChromeを起動し、「http://localhost/xyz.aspx」でアクセスしたところ問題なく表示できました。 「http://サーバー名/xyz.aspx」だと表示できませんでした。 よろしくお願いします。

  • Google Chrome タブ複製時の「戻る」

    Google Chromeの現在開いているページのタブ複製時の動作に関する相談です Google Chromeは現在のタブの複製をした場合、ページ遷移の履歴が消えてしまうようです 例えば、以下の操作をした場合 ページAが開かれている ↓ ページBに移動する ↓ 現在のタブを複製する(ページBが2つになる) ↓ 複製されたページBでブラウザの戻るボタンを押下する 上記の操作をした場合、IEやfirefoxだと複製されたタブでもページAに戻れます ページ遷移の履歴もしっかり複製されているようです しかし、Google Chromeでは戻れません 現在のタブを複製しても、ページ遷移の履歴までは複製されないようです (Gestures for Chromeを導入して、マウスジェスチャにて現在のタブの複製をやりました) Google ChromeでもFirefoxと同じ動きになるような拡張機能はないでしょうか? Firefoxから乗り換えようと思っているのですが、上記が出来ないという事が思いのほか不便だったため質問しました

  • エクセル VBA で IE操作 

    エクセルVBAにて IEを操作し リンクをクリックするには どのような記述になりますでしょうか? たとえば http://okwave.jp/mypage へアクセスし画面右上 カテゴリ をクリック 次に Excel(エクセル) をクリック という具合に 画面に表示されている文字を順番にクリックしたいです。 マクロを見つけてきましたが クリックというのはどう記述していいやらさっぱりです。 Sub testIE() Dim objIE As InternetExplorer 'IEオブジェクトを準備 Set objIE = CreateObject("Internetexplorer.Application") '新しいIEオブジェクトを作成してセット objIE.Visible = True 'IEを表示 objIE.navigate "http://okwave.jp/mypage" 'IEでURLを開く Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE '読み込み待ち DoEvents Loop

  • UWSCでEdgeを起動してCOM操作するには

    UWSCでEdge(Microsoft Edge)を起動して COMオブジェクトで操作したいのですが、 IE(Internet Explorer)を起動して操作する仕方は分かりますが、 Edgeを起動して操作する仕方がよく分かりません。 以下のコードは、 Googleの検索ボックスにテストという文字列を入力する IEでのコードですが、Edge用に書き換えるには、 どのように記述すればよいのか教えていただけないでしょうか。 ------------------------------------------------------------------ IE = CREATEOLEOBJ("InternetExplorer.Application") IE.VISIBLE = True IE.NAVIGATE("https://www.google.co.jp/") REPEAT SLEEP( 0.1 ) UNTIL ( ! IE.BUSY ) AND ( IE.READYSTATE = 4 ) IE.document.getElementsByClassName("gLFyf gsfi").item(0).value="テスト" //(省略) SLEEP(5) //確認用 IE.Quit ------------------------------------------------------------------ よろしくお願いします。(Windows10 2004)(IE 2004)(Edge 89.0.774.68)

  • HTMLCollection、NodeList違い

    ・リンク先に「DOMのノードリスト(HTMLCollectionやNodeList)の配列化」という記述があるのですが、意味が分からないので、教えてください http://blog.livedoor.jp/eeu/archives/55316901.html 下記理解で合っているでしょうか? ・そもそも「JavaScript」と「DOM」は異なる概念 ・JavaScript… ECMAScriptに基づく ・DOM … Document Object Model Level Specificationに基づく ・JavaScript … 「オブジェクト型」「プリミティブ型」に分類可能 ・DOMオブジェクト … JavaScriptオブジェクトとは等価でない? ・NodeList … JavaScript配列オブジェクトとは等価でない? http://jibun.atmarkit.co.jp/lskill01/rensai/dom04/dom01.html ・外見上は同じに見える「NodeList」「配列オブジェクト」判断の方法は? 前後の文脈から? >HTMLCollection はノードのリスト ・NodeListとの違いは? ・リンク先は関係あるでしょうか? なぜオラクル? http://docs.oracle.com/javase/jp/7/jre/api/plugin/dom/org/w3c/dom/html/HTMLCollection.html ・もしかしてブラウザによって返す型が異なるのでしょうか? ・結局「HTMLCollection型」「NodeList型」どちらが正しいのでしょうか? あるいは同じ意味? >戻り値 >Firefox, IEはHTMLCollection型のオブジェクト >Google Chrome, OperaはNodeList型のオブジェクト http://d.hatena.ne.jp/sandai/20100823/p1

  • VBでのIE操作

    VBでのIE操作をしようとして色々調べています。 色んなサイトを見ながら途中までは何とかできましたが、どうしてもリンク先を表示できません。 お分かりになる方いましたら、お力添えいただければ幸いです。 状況: Excel2007使用  IE7  VB初心者です。 やりたい内容: VBでIEを立ち上げる ↓ ページからリンクをクリックする (ページ上に画像が貼り付けてあって、そこにURLくっついててハイパーリンクになっている。) (セキュリティの関係でハイパーリンク先を初期で表示することはできない。) ↓ 表示されたページに検索したい項目を入力 ↓ 結果をエクセルに反映する。 以上の作業をVBで組もうと思ってます。 よろしくお願いします。 Option Explicit Sub IE_Test() 'IEの起動 Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True '処理したいページを表示します。 objIE.Navigate "(表示したいページ)" 'ページの表示待ち   While objIE.readyState <> READYSTATE_COMPLETE Or objIE.Busy = True DoEvents Wend '開かれたIEを探す。 Dim objSHELL As Object Dim objWINDOW As Object Dim newIE As InternetExplorer '調べる項目に対して、、、 For yCNT = 3 To 102 ' If Trim(Cells(yCNT, 1)) = "" Then Exit For 'A列が空白になったらループを抜ける ここがわからない。。。 (画像になっているハイパーリンクをクリックしたい、、、) 'シェルのオブジェクトを作成する Set objSHELL = CreateObject("Shell.Application") Set newIE = objSHELL.Windows(objSHELL.Windows.Count - 1) Set objSHELL = Nothing '念のため、新しいウインドウの表示を待つ While newIE.readyState <> READYSTATE_COMPLETE Or newIE.Busy = True DoEvents Wend 'ページが表示されたので、表示された文章に対して、処理を行います。 newIE.document.all("phone_no").Value = Cells(yCNT, 1) 'A列の文字を参照する newIE.document.all("exec").Click '表示されたウインドウ(newIE)からデータをセットする Cells(yCNT, 2) = newIE.document.body.innerText '検索の結果をエクセルに反映 '新しいIE(子IE)を閉じる newIE.Quit Set newIE = Nothing '前のIE(親IE)を閉じる   objIE.Quit set objIE = Nothing Next yCNT End Sub 上記が現在までのできているコードです。 ここにも色々間違いがある可能性もあります。 ご指摘頂けましたら幸いです。 よろしくお願いします。

  • サードパーティ製のブラウザ拡張ってなんですか?

    サードパーティ製のブラウザ拡張を有効にする、というのをチェックをはずしたら今まで出ていたIE6のエラーが直りました。(その操作はPCのサポートで教わりましたが)馬鹿なことにうっかりと「なぜ?」そうなるのか、とかどういうときにその操作は有効にするといいとか聞き忘れました。ここにはたくさんの識者がいらっしゃるようなので初心者の私でもわかるように教えてください。

専門家に質問してみよう