2011-11-29 8 views
11

Css sözde sınıfını içeren bilinen Selenyum sorununu nasıl geçeceğinize dair bir örnek verebilecek kimse var mı: hover?Selenium 2.0 için bir geçici çözüm WebDriver & the: hover pseudoclass

Esasen, ben bir web sitesi için selenyum IDE (ve kodumu Visual Studio 2008'de yapıyorum) ile başlayan bir web sitesi için regresyon testi üzerinde çalışıyorum ve bir div üzerinde gezinmek, görünmesini sağlamak ve bir söz konusu divun içine bağlantı.

Tüm çabalarım başarısız oldu ve pek çoğunun bu sorunu yok, çözümü yok gibi görünüyor.

Şimdiden teşekkürler!

+0

bu baktınız mı:.! http://stackoverflow.com/questions/2973145/selenium-and- hover-css – prestomanifesto

cevap

13

Tamam! Bu yüzden (ben aslında o iplik görmüştü, ama .hover() sınıfı kullanımdan kaldırıldı ve bunu ancak, sadece katı bir geçici çözüm bulmak. Söyledim, çalışmak için alamadım yardım ederiz.

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(); 
Ayrıca

, dahil ifadeleri kullanarak bir çift olması gerekir

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

Umut Bu yardımcı olur

+2

'using' ifadelerini eklediğiniz için çok teşekkürler.Onun olmadan zor bir zaman geçiriyorum IE'de Webdriver (C#) kullanarak mouseover için bir çözüm aramaya razı. –

+0

Sadece sahip olduğum problem. Bunun için teşekkürler. – gottlieb76