C# selenium内でjavascriptを実行する

Seleniumを使用してブラウザを操作する際、Seleniumだけではどうもうまくいかず、JavaScriptで制御を行うとうまくいくことがありましたので、Selenium内でのjavascriptの使用について、メモします。

SeleniumのJavaScript実行メソッド

driver.ExecuteScript("実行したいJavaScript");

普段は、あらかじめ実行したいスクリプトを文字列として宣言して使います。

JavaScriptでウィンドウをスクロール

var script = "window.scrollTo(0,100)";

driver.ExecuteScript(script);

※driverはあらかじめ宣言してあります。

JavaScriptでクリックしたい要素までスクロールしてクリック

string scripts = "var element = document.getElementById('test'); element.scrollIntoView(); element.click();";

driver.ExecuteScript(script);

※document.getElementByIdのidは適当な内容です。任意のidとすることで要素を取得できます。

要素が画面内にないときなどは上記方法をとるといい感じにできました。

JavaScriptにつきましては、以下の本を参考にしています。
-------------------------------------------------
・Amazon

徹底マスター JavaScriptの教科書プログラミングの教養から、言語仕様、開発技法までが正しく身につく【電子書籍】[ 磯 博 ]

-------------------------------------------------
・楽天

徹底マスター JavaScriptの教科書プログラミングの教養から、言語仕様、開発技法までが正しく身につく【電子書籍】[ 磯 博 ]