Ich schreibe einen JUnit-Test für eine Webseite mit Selenium und versuche zu überprüfen, ob der erwartete Text auf einer Seite existiert. Der Code der Webseite, die ich teste, sieht so aus:
%Vor%Ich möchte vergleichen, was erwartet wird mit dem, was auf der Seite ist, also möchte ich verwenden Assert.asserTrue (). Ich weiß, dass, um alles vom div zu bekommen, ich
tun kann %Vor%aber das wird "reqd info * Recipient:"
zurückgebenGibt es eine Möglichkeit, den Text vom div ("Recipient") mit cssSelector ohne die anderen Tags zu erhalten?
Sie können dies nicht mit einem CSS-Selektor tun, da CSS-Selektoren nicht über einen feinkörnigen Ansatz verfügen, um "den im DIV enthaltenen Textknoten, aber nicht seine anderen Inhalte" auszudrücken. Das können Sie jedoch mit einem XPath-Locator tun:
%Vor%Dieser XPath-Ausdruck identifiziert nur den einzelnen Textknoten, der ein direktes Kind des DIV ist, und nicht den gesamten darin enthaltenen Text und seine Kindknoten.
Ich bin mir nicht sicher, ob das mit einem css-Locator möglich ist, aber Sie können Text von div bekommen, dann Text von divs Child-Knoten holen und sie subtrahieren. So ähnlich (Code wurde nicht überprüft):
%Vor%Dies ist der Fall, wenn Sie versuchen, die Verwendung von xpath zu vermeiden. Xpath erlaubt es zu tun:
%Vor%Tags und Links java selenium css-selectors junit