2014-06-18 17 views
5

Onay kutusunu işaretli veya işaretlenmemiş durum için sınamak istiyorum. Bulunamadı: selenyum webdriver'da css selektör öğesi bulunamıyor

Bu

onay kutusunu html kodu
<div classs="input-control checkbox"> 
<span class="check"> 
::before 
</span> 
</div> 

::before css seçicidir

kontrol olduğunu.

i onay kutusunun hoverover

, bu span.check::before

ancak

driver.FindElement(By.CssSelector("span.check::before")); 

olarak webelement elemanı durum bulunmayan atar gösterir.

Herhangi bir yardım çok takdir edilecektir.

+3

Sen bir ':: before' sözde elemanla var ama seçici' diyor :: after' demek ...? (Sahte öğeleri bile bulabileceğinizden emin değilim.) – BoltClock

+0

Neden sahte bir öğeyi hedeflemeniz gerekiyor? – Arran

+0

'div.checkbox :: sonra' * değil * 'span.check :: before'. Her elemanın ayrı ayrı '' önce' ve ''sonra' sözde-elemanları olabilir. –

cevap

0

Örnek html'de ::after bulunmadığından bahsedildiği gibi tam html'den emin değilim. Açıklamanıza bağlı olarak, bu, aşağıdakine benziyor, ancak durumun tam olarak bu olduğundan emin değil.

Fare hareketini kullandım ve sonra değiştirilmiş css/sınıfını görüntüleyen öğeyi bekleyin. Fare hareket eder ve ilk öğeye gelir ve ardından ikincinin ekranda görünmesini bekleyin. Bu, tıklama için benzer şekilde çalışır ve öğenin görünmesini bekleyin.

kod örneği

Hover - kodunuzu dil ve yapıyı eşleşmesi gerekir ...

[Actions Instance goes here].MoveToElement([IWebElementGoesHere]).Perform(); 

ayrıca sadece bu kütüphane için

[Actions Instance].Click([IWebElementGoesHere]).Perform(); 

Referans yapabilirsiniz: Ben https://code.google.com/p/selenium/wiki/AdvancedUserInteractions

+0

Hepinize teşekkürler. evet, benim yanımdan yazım hatası oldu. findElement ifadesinde yanlış webelement koydu. sürücü olması gerekiyordu.FindElement (By.CssSelector ("span.check :: before")); – user3752861

+0

Ayrıca, sahte öğe selenium css selector tarafından desteklenmediğini öğrendim. Yukarıdaki durumda, krom, itfaiyenin DOM'yi hiç değiştirmediği, yalancı öğeden önce oluşturur. hiçbir sahte öğe oluşturulmadı. – user3752861

2

psödo css selektörleri ile benzer bir sorunla karşı karşıya (:: önce benzer), ben selenium java "Eylemler" sınıfını kullanarak sorunu aştım.

Actions action = new Actions(driver); 
action.moveToElement(driver.findElement(By.cssSelector("button[id$='save-button']"))).build().perform(); 

Yardım edin.

sayesinde Sampath

İlgili konular