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);
    }
  }
}

関連記事

  1. Windows 10

    【2017年8月版】起動中のMicrosoft EdgeからタイトルとURLを取得するC#コード

    当ブログでは、EdgeからタイトルとURLを取得するコードについて、い…

  2. Windows 10

    Selenium WebDriverを使用してMicrosoft EdgeとOfficeを連携させる…

    この記事はSelenium/Appiumアドベントカレンダー2015の…

  3. Windows 10

    Microsoft Edgeの拡張機能を色々試してみた。

    前回の記事ではMicrosoft Edgeの拡張機能(Microsof…

  4. Windows関連

    [Windows 8]圧縮ファイルを解凍する。

    ※ 下記はWindows Developer Preview(英語版・…

  5. Windows関連

    [Windows 8]エクスプローラーのリボンを無効にする。

    ※ 下記はWindows 8 Release Preview(日本語版…

  6. Windows 10

    Windows Insider Meetup in Japan 2019 東京に参加しました。

    Windows Insider向けのミートアップイベント「Window…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP