2011-11-29 17 views
11

css擬似クラス:ホバーに関係する既知のSelenium問題をどのように回避するかについてC#の例を提供できる人はいますか?Selenium 2.0 WebDriver&the:hover擬似クラスの回避策

本質的に、私はセレンIDEでウェブサイトを開始するための回帰テストに取り組んでいます(そして、Visual Studio 2008で残りのコードをビルドしています)、divにマウスを置いて表示させ、前記div内のリンク。

私の努力はすべて失敗しましたが、多くの人がこの問題を解決していないようです。

ありがとうございます!

+0

は、あなたがこの見てきました:。!http://stackoverflow.com/questions/2973145/selenium-and- hover-css – prestomanifesto

答えて

13

大丈夫です!だから私は助けに感謝(私は実際にそのスレッドを見ていたが、.hover()クラスは廃止されてきた、と私はそれが仕事を得ることができませんでした。私がやった、しかし、単に固体の回避策を見つける。

var phone = driver.FindElement(By.Id("phones")); 
var phoneLi = phone.FindElements(By.TagName("li")); 
Actions action = new Actions(driver);//simply my webdriver 
action.MoveToElement(phoneLi[1]).Perform();//move to list element that needs to be hovered 
var click = action.MoveToElement(phoneLi[1].FindElements(By.TagName("a"))[0];//move to actual button link after the 'Li' was hovered 
click.Click(); 
click.Perform(); //not too sure why I needed to use both of these, but I did. Don't care, it works ;) 
IAlert alert = driver.SwitchTo().Alert(); 
alert.Accept(); 
また

、あなたが含ま文を使用してカップルを持っている必要があります

using OpenQA.Selenium; 
using OpenQA.Selenium.Interactions; 
using OpenQA.Selenium.Interactions.Internal; 
using OpenQA.Selenium.Support.UI; 

ホープ、このことができます

+2

'using'ステートメントを含めていただきありがとうございます。それがなければ、私は厳しい時間を過ごしていますInternet Explorer上でWebdriver(C#)を使用してマウスオーバーへの解決策を探しています。 –

+0

ちょうど私が持っていた問題。ありがとう。 – gottlieb76