2016-08-03 19 views
-2
JavascriptExecutor jse = (JavascriptExecutor)driver; 
WebElement element = driver.findElement(By.xpath(".//*[@id='reviewMetadata']/a']"));  
jse.executeScript("arguments [0],click();",element); 

Error: Exception in thread "main" org.openqa.selenium.InvalidSelectorException: The given selector .//[@id='reviewMetadata']/a'] is either invalid or does not result in a WebElement. The following error occurred: InvalidSelectorError: Unable to locate an element with the xpath expression .//[@id='reviewMetadata']/a'] because of the following error: SyntaxError: The expression is not a legal expression.Der angegebene Selektor ist ungültig oder führt nicht in einem WebElement

+0

Fügen Sie die entsprechenden HTML- – Guy

+0

.//*[@id='reviewMetadata']/a – muthubala

+1

es ist kein 'HTML' – Andersson

Antwort

0

Sie verwenden zusätzliches Angebot nach a Elemente. Sie sollten

".//*[@id='reviewMetadata']/a]" 

Auch ersetzen Komma mit Punkt verwenden und Raum entfernen in

"arguments [0],click();" 

folgende Themen

0
JavascriptExecutor jse = (JavascriptExecutor)driver; 
WebElement element = driver.findElement(By.xpath("//*[@id='reviewMetadata']/a]"));  
jse.executeScript("arguments [0],click();",element); 

Versuchen Sie ersetzen diese Zeilen und führen zu verhindern. Ich nehme an, du hast das xpath von FirePath kopiert. Vergessen Sie nicht, den Punkt zu löschen, der am Anfang der xpath steht.

+0

Wie ich überprüft habe alle xpaths haben. Symbole. Soll ich alle Punkte in Programm – muthubala

+0

entfernen, ja entfernen Sie sie. –

+0

Fügen Sie das Plug-in 'Firefighter' in Ihrem FF-Browser hinzu, um die' xpath'- und 'CSS-Selektoren' zu verifizieren, bevor Sie sie in Ihrem Code verwenden. –