0

Selenium webdriver'da JSExecutor öğesini kullanarak öğeyi tıklatmak için aşağıdaki xpath'i kullanıyorum. Bu, Firefox ve kromda iyi çalışır ancak IE'de çalışmaz.Xpath seçici, IE'de çalışmıyor ancak Chrome ve Firefox'ta sorunsuz çalışıyor

Bunu yapmak için bir fikrin var mı? Deneme ve hatadan sonra bu çalışmayı FF ve kromda yaptım ve aşağıdaki XPath ile geldim.

//*[contains(@class,'ui-select-choices-row') or contains(@id,'ui-select-choices-row')]//*[text()='TextofMyElementToBeclicked' 

Ek bilgi: Bu jQuery bir angularjs uygulamaya açılır edilir. Kullanıcı aşağıya tıklandığında // ul yüklenir ve metne dayalı öğeyi seçmek için yukarıdaki xpath'i (// ul'un bir parçası) kullanıyorum (Javascript executor tıklatarak). JS yürütücüyü kullandım çünkü selenyumdaki click() işlevi sadece açılan öğeyi tıklayamadı.

Aşağıdakini kullanarak öğesini tıklıyorum.

WebElement element = driver.findElement(By.xpath("YourNumbersXpath")); 
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", element); 
    enter code here 
+0

Çözümü bulabileceğinizi düşünüyorum [http://stackoverflow.com/questions/15252837/selenium-javascriptexecutor-on-ie9-results-in-element-was-not- (Buraya kaydırılmış) veya [Here] (http://stackoverflow.com/questions/20138761/how-to-select-a-dropdown-value-in-selenium-webdriver-using-java) – ImLearning

cevap

1

XPath'ı IE11 ile başarıyla test ettim, bu yüzden IE ile ilgili bir sorun değil. Büyük olasılıkla bir zamanlama sorunu. Damla butonuna İlk tıklamasıysa görünmesini hedeflenen eleman bekleyin ve nihayet tıklayın:

WebDriver driver = new FirefoxDriver(); 
WebDriverWait wait = new WebDriverWait(driver, 30); 
driver.get("..."); 

// move the cursor to the menu Product 
WebElement element = driver.findElement(By.xpath("drop down button")).click(); 
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("drop down item"))).click(); 
+0

Bunu denediniz mi? Ayrıca elemntToBevisible çalıştı .. Her ikisi de hata bulmak için bir şey bulmak mümkün değil .. Garip bu sadece IE 11 başarısız. – Mike

+0

Kodu adım adım çalıştırırsanız işe yarar mı? –

+0

Hayır .. Sadece xpath bulamıyor diyor .. O varsayılan timrout düşmanı bekler ve hata atar .. – Mike

0

IE11 (içerir @class ve muhtemelen de (@id içeren mücadele gibi görünüyor alternatif çözümler kullanmayı deneyin.

İlgili konular