2016-04-14 32 views
1

Ich habe Probleme, auf diesen "Button" -Link in dieser Web-App zu klicken. Es ist so definiert:Probleme beim Klicken auf eine Schaltfläche/Link mit Selenium Webdriver

<tr> 
<td id="mainleftlinkzoneover" width="9" valign="top"> 
<td id="mainleftlinkzoneover" class="mainleftlinks" width="151" title="Online Training"> Online Training</td> 
</tr> 

Beachten Sie, wie es keinen Namen oder ID zu verwenden gibt. Vielen Dank! Ich habe versucht, es per Link Text zu klicken. Nee. Ich habe versucht, es durch partiellen Linktext zu klicken. Nee.

Nicht sicher, warum das nicht funktioniert, aber ich habe Selen nur einen ganzen Tag lang gemacht. Ich melde mich erfolgreich bei der Anwendung an, damit die Dinge funktionieren. Wenn ich By.PartialLinkText verwende, schlägt es nicht fehl, aber es klickt auch nicht auf den Link.

WebElement OnlineTrainBtn = driver.findElement(By.partialLinkText("Training")); 
OnlineTrainBtn.click(); 

Ich glaube, ich entweder mit Xpath oder CSSSelector gelassen werden kann, aber ich habe keine Ahnung, wie die Suchzeichenfolge zu schreiben.

Jede Hilfe zu diesem wird sehr geschätzt, ich habe zehn oder zwölf weitere "Tasten" wie diese zu behandeln.

Antwort

1

Die By.PartialLinkText sucht unter den <a> Tags.

Also in Ihrem Fall würde ich einen CSS-Selektor verwenden, den Titel entsprechen:

driver.findElement(By.cssSelector("td[title='Online Training']")).click(); 

Sie auch einen XPath verwenden könnte teilweise den Text anzupassen:

driver.findElement(By.xpath("//td[contains(., 'Training')]")).click(); 
+0

, die sehr gut funktioniert danken dich so sehr. Jetzt verstehe ich auch das Format. Dies wird mir auch bei Überprüfungen helfen. Liebe diesen Ort! –

Verwandte Themen