以下のコード スニペットは、Visual Studio の通常の UnitTest プロジェクト テンプレートで C# コードを使用して記述されています。2 つの NuGet パッケージ (Selenium WebDriver サポート クラスと Selenium WebDriver) を追加して、Selenium Web ドライバー サポート DLL を追加しました。次に、以下のコードを Test メソッドに入力すると、テストがデバッグ モードで実行されます。
static IWebDriver driver;
driver = new ChromeDriver(@"C:\Selenium_Drivers"); // location of chromedriver.exe
driver.Url = "http://juliemr.github.io/protractor-demo/";
string javascript = "document.addEventListener('click', function(event){alert(event.relatedTarget);});";
((IJavaScriptExecutor)driver).ExecuteScript(javascript);
コードはデバッグ モードで実行され、上記の 4 行のコードの後、ロードされた Web ページをクリックしようとすると、以下に示すようにアラート ウィンドウに null 値が表示されます。
コード内のアラート コンテンツが変更された場合、event.clientX
またはここで説明されているプロパティのリストからそのようなプロパティを表示する - http://www.javascripture.com/MouseEvent
それはうまくいっています。
relatedTarget
要素オブジェクトが存在すると予想される場所でのみが null を返す理由を誰かが提案できますか?