Le sélénium web pilote: ne peut pas être trouve dans la vue
Je suis en utilisant Selenium IDE et le Sélénium web pilote testng dans eclipse ..
mon test est contre ZK application ..
le cas de test fonctionne très bien sur Selenium IDE ..
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://*****/>
<title>work it2</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">work it2</td></tr>
</thead><tbody>
<tr>
<td>open</td>
<td>/xxx</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//li[2]/div/div/div/span</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>3000</td>
<td>3000</td>
</tr>
<tr>
<td>doubleClick</td>
<td>//div[2]/div[2]</td>
<td></td>
</tr>
<tr>
<td>pause</td>
<td>3000</td>
<td>3000</td>
</tr>
</tbody></table>
</body>
</html>
mais quand je le lance dans eclipse avec le sélénium web pilote (testng) j'ai une erreur ..
selenium.open("xxx");
selenium.click("//li[2]/div/div/div/span");
Thread.sleep(3000);
selenium.doubleClick("//div[2]/div[2]");
Thread.sleep(3000);
J'ai aussi changé le code pour
driver.get("xxx");
driver.findElement(By.xpath("//li[2]/div/div/div/span")).click();
Thread.sleep(3000);
WebElement ee = driver.findElement(By.xpath("//div[2]/div[2]"));
Actions action = new Actions(driver);
action.doubleClick(ee).perform();
Thread.sleep(3000);
également obtenir la même erreur ...
l'erreur a été dans cette ligne
//div[2]/div[2]
com.thoughtworks.le sélénium.SeleniumException: Décalage dans l'élément
ne peuvent pas être affichés dans la vue: (87, 118): [objet XrayWrapper [objet
HTMLDivElement]] la Commande ou de l'expiration de la durée: 63 millisecondes Construire
info: version: '2.39.0', de révision: 'ff23eac', temps: "2013-12-16
16:11:15 "Système info: accueil: "Fin", l'ip: '192.168.17.76', os.nom:
De "Windows 7", système d'exploitation.arc: amd64, os.version: '6.1', java.version:
'1.7.0_51' ID de Session: 3b79783c-2558-4c87-bd51-a72821696040 Pilote
info: org.openqa.le sélénium.firefox.FirefoxDriver Capacités
[{plate-forme=XP, acceptSslCerts=true, javascriptEnabled=true,
cssSelectorsEnabled=true, databaseEnabled=true, browserName=firefox,
handlesAlerts=true, browserConnectionEnabled=true,
webStorageEnabled=true, nativeEvents=false, orientable=false,
locationContextEnabled=true, applicationCacheEnabled=true,
takesScreenshot=vrai, version=27.0.1}]
DoubleClick xpath dans votre IDE exemple, est différente de la WebDriver code. Est-ce à dessein?
désolé c'était une erreur !
Je suis vraiment coincé ici , toute aide?
Ce type d'erreur peut se produire parce que l'élément que vous essayez de cliquez sur n'est pas visible. Cependant, c'est une supposition. Il est difficile d'aider sans le même problème survenant sur nos ordinateurs. Pouvez-vous créer un exemple de page sur jsfiddle.net qui a le même problème? Souvent, un simple cas de test vous aide à trouver le problème sur votre propre.
OriginalL'auteur Naif | 2014-03-23
Vous devez vous connecter pour publier un commentaire.
Naif,
En fait, votre question ci-dessus est différente de la question et donc, vous devez être posée comme une question séparée. Encore, je vais répondre à votre question précédente.
L'erreur est parce que l'élément que vous essayez de cliquer sur n'est pas visible. Avant de cliquer sur l'élément, il doit être visible. Vous pouvez le faire en suivant -
Si ci-dessus ne fonctionne pas, vous pouvez cliquer sur l'élément, par l'exécution de javascript(mais ce n'est pas une bonne pratique)
org.openqa.le sélénium.TimeoutException: a expiré au bout de 20 secondes d'attente pour la visibilité de [[FirefoxDriver: firefox sous XP (d6ae4ad6-057c-460b-a730-a52f05fb536f)] -> xpath: //div[2]/div[2]]
S'il vous plaît essayer avec la partie Javascript, il va sûrement travailler.
il fonctionne.. mais comment puis-je l'utiliser pour double-cliquez sur ?
WebElement élément = pilote.findElement(Par.xpath("//div[2]/div[2]")); JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("arguments[0].cliquez sur();", element);
OriginalL'auteur TDHM
Essayez d'exécuter le script et cliquez sur l'élément
OriginalL'auteur Zoran Pandovski
Je ne suis pas sûr, mais essayez de voir si la suite qui fonctionne pour vous. Tout d'abord, vous avez à faire de cet élément visible avant d'avoir des relations avec elle -
Le code ci-dessus faites défiler vers le bas jusqu'à l'élément est visible, puis vous pouvez cliquez sur.
OriginalL'auteur TDHM
J'ai été faire cette erreur en contexte légèrement différent, où j'essayais de cliquer balise d'ancrage avec le sélénium RemoteWebDriver (j'ai essayé de remplacer WebDriver). Le correctif a été l'identification de l'ensemble de la capacité pour le pilote pour exemple:
capability = DesiredCapabilities.chrome();
capability.setPlatform(Platform.WIN10);
capability.setCapability("version", "66");
OriginalL'auteur lnarasimhan