2017-03-28 6 views
0

Die Anwendung, die ich verwende, hat mehrere Dropdown-Schaltflächen mit derselben XML-Code. Unten ist der Code, der für alle Dropdown-Tasten ähnlich ist.Problem beim Klicken auf Dropdown-Taste mit Selen-Webdriver-Code

<button class="btn dropdown-toggle bs-placeholder btn-default" role="button" data-toggle="dropdown" type="button" data-id="invContactList" title="" data-original-title="Nothing selected">

Ich habe Verwendung Code unten auf den Button

driver.findElement(By.xpath("//button[@data-toggle='dropdown']")).click(); 

mit diesem Code-Anwendung ausführen erfolgreich nur einmal zu klicken, aber es, nachdem es gibt Fehler wie: org.openqa.selenium .ElementNotVisibleException: Element ist derzeit nicht sichtbar und kann daher nicht mit Command interagieren. Ich habe Browser-Cookies entfernt, aber es wird nicht helfen.

Kann mir bitte jemand bei der Ursache und Lösung helfen?

+0

Bitte posten Sie den HTML-Code für einige der Schaltflächen. Haben Sie einen CSS-Selektor wie "button [data-id = 'invContactList']" ausprobiert? Sind Sie sicher, dass Sie das gewünschte Element finden? Es ist möglich, dass Ihr Locator mehrere findet und der erste verfügbar ist. – JeffC

+0

Haben Sie meine Antwort versucht? –

+0

ja seine Arbeit .. danke –

Antwort

0

Möglicherweise müssen Sie für dieses Element warten:

WebDriverWait wait = new WebDriverWait(driver, 10); 
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@data-toggle='dropdown']"))).click(); 

ODER

wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@data-id='invContactList']"))).click(); 

ODER

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//button[@data-toggle='dropdown']"))).click(); 

OR

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//button[@data-id='invContactList']"))).click(); 

es an Ihrem Ende versuchen.

+0

Seine Arbeit .. Danke –

Verwandte Themen