2016-07-17 1 views
0

私はセレンIWebDriver使用:このドライバでイベントがセレンを使用して起動しないようにするにはどうすればよいですか?

を、私は別のアクションを実行するには、ページ間を移動:

driver.FindElement(path).Click(); 

私はボタンをクリックしたときに発生するイベントをブロックする興味があります。

今はコードを通じてHTMLページのhrefプロパティを変更しています。

しかし、私はこの方法があまりにも退屈な気がします。

selenium IWebDriverを使用してイベントを単にブロックする方法はありますか?

答えて

2

あなたは以下のようにExecuteScript()を使用して、実行時に要素の任意の属性を変更することができます -

IWebElement link = driver.FindElement(By..); 

IJavaScriptExecutor js = driver as IJavaScriptExecutor; 

link = (IWebElement)js.ExecuteScript("arguments[0].setAttribute('href','your value');arguments[0].setAttribute('onclick',' '); return arguments[0]",link); 

//now after modification you can click with your event 
link.Click(); 

だから、これであなたは、実行時に要素のいずれかのイベント属性を変更したり、ブロックすることができます。

希望します。:)

+0

私の以前の解決策よりもはるかに軽い!!どうもありがとう!! – Cher

+0

@CherrysaHerrimあなたを歓迎する...喜んで... ... :) –

関連する問題