Windows 10

[Selenium]ExecuteScriptで指定した要素のIDを取得する。

MSDN フォーラムにあった質問「Edge向けWebDriverでDOMElementを取得するスクリプトを動かすと正しいJSONが戻らない」で、ExecuteScriptの戻り値でelement idが取得できることを知ったので、忘れないうちにメモしておきます。

using System;
using System.Collections.Generic;
using OpenQA.Selenium.Edge;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Support.UI;

namespace EdgeSample
{
  class Program
  {
    public static void Main(string[] args)
    {
      const string folderName = "Microsoft Web Driver";
      string serverPath = System.IO.Path.Combine(
        System.Environment.GetFolderPath(
          System.Environment.SpecialFolder.ProgramFilesX86
        ), folderName
      );
      EdgeDriver driver = new EdgeDriver(serverPath);
      driver.Navigate().GoToUrl("http://bing.com/");
      WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5));
      wait.Until(x => x.Title.Contains("Bing"));
      Dictionary<string, object> result = (Dictionary<string, object>)driver.ExecuteScript("return document.getElementById('sb_form_q');");
      Console.WriteLine(result["id"]);
      RemoteWebElement elm = (RemoteWebElement)driver.FindElementById("sb_form_q");
      elm.SendKeys("Test"); //element idが上記'result["id"]'と一致
      Console.ReadKey(true);
    }
  }
}

[Word VBA]ルビ(ふりがな)ダイアログの操作に挑む(2)前のページ

2015年10月の人気記事次のページ

関連記事

  1. Windows関連

    Windows 10 IMEの「クラウド候補機能」の仕組みを追ってみた。

    「ついにWindows 10 日本語IMEにクラウド候補機能が搭載され…

  2. Windows関連

    [Windows]「AppsFolder」のような特殊フォルダ名を取得する。

    レンタルサーバーのデータベース障害で、先日書いた記事が消え去ってしまっ…

  3. Windows関連

    Windows コマンド ライン リファレンス

    未だに出番がなにかと多いコマンドライン、コマンド名やオプションを忘れて…

  4. Windows 10

    WebDriverを使わずMicrosoft Edgeを制御するC#コード

    以前書いた記事のように、Microsoft EdgeにはInterne…

  5. Selenium

    C#からWinium WebDriverを使ってみた。

    「Winium - Windows向けソフトウェアでもSelenium…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP