今までWindowsでウェブ関連の自動化をしたいときの定番と言えばIE+VBS/VBAでIEオブジェクトを操作するって感じだったが、そろそろEdgeネイティブ対応のシステムが出てきたり、IE捨てろ圧が各所で高まってきてたりしており、場面によってはEdgeでの自動化が必要となる場面が出てきているように思う。
残念ながらメモ帳でVBSを頑張って記述するだけで一応自動化できたIEとは違い、 Webdriver という仕組みを使うのがEdgeの場合の自動化手段となっている様だ。
アラフォーSEが自由に自分の業務周りや趣味周りの各種IT系技術情報を発信するブログ。何年も前:OSS色強め→ちょっと前:ServiceNow色強め→今後Powershell、AWS、VBA主になりそう
今までWindowsでウェブ関連の自動化をしたいときの定番と言えばIE+VBS/VBAでIEオブジェクトを操作するって感じだったが、そろそろEdgeネイティブ対応のシステムが出てきたり、IE捨てろ圧が各所で高まってきてたりしており、場面によってはEdgeでの自動化が必要となる場面が出てきているように思う。
残念ながらメモ帳でVBSを頑張って記述するだけで一応自動化できたIEとは違い、 Webdriver という仕組みを使うのがEdgeの場合の自動化手段となっている様だ。
// KeyboardInput VirtualKeys="Keys.Command+ "" + Keys.Command"calc"Keys.Return" CapsLock=False NumLock=True ScrollLock=False一見してわかる通り、そのまま使えるケースはよくあるキャプチャ&リプレイ系のツールと同じく、恐らく稀で、現実的にはプログラミング言語によるテストコードの開発を支援するツールという位置づけになりそうだ。
Console.WriteLine("KeyboardInput VirtualKeys=\"Keys.Command+ \"\" + Keys.Command\"calc\"Keys.Return\" CapsLock=False NumLock=True ScrollLock=False");
winElem0.SendKeys(Keys.Command+ "" + Keys.Command);
winElem0.SendKeys("calc");
winElem0.SendKeys(Keys.Return);
// KeyboardInput VirtualKeys=""123+456"Keys.Return" CapsLock=False NumLock=True ScrollLock=False
Console.WriteLine("KeyboardInput VirtualKeys=\"\"123+456\"Keys.Return\" CapsLock=False NumLock=True ScrollLock=False");
winElem0.SendKeys("123+456");
winElem0.SendKeys(Keys.Return);
// MouseHover on "表示は 579 です" at (193,2)
Console.WriteLine("MouseHover on \"表示は 579 です\" at (193,2)");
string xp3 = "/Pane[@Name=\"デスクトップ 1\"][@ClassName=\"#32769\"]/Window[@Name=\"電卓 - 電卓\"][@ClassName=\"ApplicationFrameWindow\"]/Window[@Name=\"電卓\"][@ClassName=\"Windows.UI.Core.CoreWindow\"]/Text[@AutomationId=\"CalculatorResults\"][@Name=\"表示は 579 です\"]";
var winElem3 = MyDesktopSession.FindElementByXPath(xp3);
if (winElem3 != null)
{
//TODO: Hover at (193,2) on winElem3
}
else
{
Console.WriteLine($"Failed to find element {xp3}");
return;
}
インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...