"WebDriver-Chrome" (外部評価システム)

この機能の代りにWebExecuteが使われるようになった.
  • WebDriverはWebブラウザをプログラムで制御するための標準である.
    WebDriverはW3C標準化に提唱されている:https://www.w3.org/TR/webdriver
    WebブラウザChromeとFirefoxをサポートする.
  • 詳細

    • ChromeとFirefoxのどちらもヘッドレスモードでサポートされる.このモードではブラウザウィンドウは表示されないが,コンピュータシステム上では実行されている.

    ExternalEvaluateの使用法

    • ExternalEvaluate["WebDriver-browser",commandargs]browser 内で argscommand を実行し,該当する場合はWolfram言語式を返す.
    • Webセッションで実行できる次のコマンドがサポートされている:
    • "OpenWebPage"Webページを開く
      "CaptureWebPage"現在のWebページの画像を撮る
      "RefreshWebPage"現在のWebページを更新する
      "PageBack"直前に訪問したWebページに戻る
      "PageForward"直後に訪問したWebページに進む
      "WebPageTitle"Webページのタイトル
      "JavascriptExecute"WebページでJavaScriptコードを実行する
      "WindowSize"現在のウィンドウサイズ
      "SetWindowSize"ウィンドウサイズを設定する
      "LocateElements"ロケータ要素が与えられると,ページ上でその要素を見付ける
      "ClickElement"要素をクリックする
      "HoverElement"要素上にマウスオーバーする
      "HideElement"要素の表示プロパティを「hidden」に設定する
      "ShowElement"要素の表示プロパティを「visible」に設定する
      "ElementText"要素のテキスト(存在する場合)
      "ElementName"要素の名前
      "ElementSelected"要素が選択されているかどうか
      "ElementEnabled"要素が実行可能になっているかどうか
      "SubmitElement"フォーム要素を送信する
      "FocusFrame"Webページの要素にフォーカスする
      "TypeElement"要素にテキストをタイプする

    データ型

    • WebDriverは,Webページの要素の指定をさまざまな方法でサポートする.これはロケータ要素と言われる.
    • 要素は"LocateElements"コマンドを使って返される.
    • 次のロケータ要素指定がサポートされている:
    • <|"ID"id|>HTMLにおける要素IDの名前
      <|"XPath"xpath|>XPathセレクタ
      <|"ElementClassName"name|>HTMLにおける要素クラスの名前
      <|"CSSSelector"name|>CSSセレクタ
      <|"Name"name|>要素の名前
      <|"LinkText"name|>リンクテキストを含む要素
      <|"PartialLinkText"name|>リンクテキストとマッチする要素
      <|"TagName"name|>タグの名前
    • "ID""TagName"の検索方法は,"WebDriver-Chrome"および"WebDriver-Chrome-Headless"でのみサポートされる.

    例題

    すべて開くすべて閉じる

      (2)

    Webページを開き,その画像を撮る:

    ページ上の要素を見付け,それをクリックする:

    Webページを開き,そのIDを使って"nav-search"要素を見付ける:

    要素をクリックする:

    Webページの画像を撮る:

    セッションを削除する:

    スコープ  (5)

    新規のブラウザセッションを開始する:

    Webページを開く:

    Webページのタイトルを取得する:

    セッションを削除する:

    新規のブラウザセッションを開始する:

    Webページを開く:

    ページを更新する:

    セッションを削除する:

    新規のブラウザセッションを開始する:

    Webページを開く:

    <p>要素をすべて取得する:

    各要素に対するテキストを取得する:

    セッションを削除する:

    新規のブラウザセッションを開始する:

    Webページを開く:

    ブラウザセッションでJavaScriptコマンドを実行する:

    セッションを削除する:

    フォームを作成する:

    このフォームをクラウドに配備する:

    クラウドオブジェクトのURLを取得する:

    新規のブラウザセッションを開始する:

    ブラウザ内でフォームを開く:

    入力フィールドに数値を入力する:

    送信ボタンをクリックする:

    セッションを削除する: