arriver ne peut pas se concentrer élément dans le chrome et le bord à l'aide de java/sélénium
Je suis ne peut pas se concentrer élément d'erreur lors de l'exécution de mon test sur chrome et edge dans FF, il fonctionne très bien. J'ai essayé de posté des résolutions, mais en vain. Je ne suis pas sûre de savoir quoi faire à ce sujet. En espérant que quelqu'un là-bas peut vous aider. Merci à l'avance.
driver.findElement(By.linkText("Add")).click();
List <WebElement> groups = new Select(driver.findElement(By.xpath("/html/body/div[1]/section/div/article/form/fieldset/div[3]/div[2]/div/div/div[1]/select"))).getOptions();
groups.get(3).click();
JavascriptExecutor js = (JavascriptExecutor)driver;
WebElement groupRole = driver.findElement(By.xpath("/html/body/div[1]/section/div/article/form/fieldset/div[3]/div[2]/div/div/div[2]/label[2]"));
js.executeScript("arguments[0].click();", groupRole);
driver.findElement(By.xpath("/html/body/div[1]/section/div/article/form/fieldset/div[3]/div[2]/div/div/div[2]/label[2]")).sendKeys(" ");
//Check to see if the user should be made active and set active checkbox to on if value in file is "active"
if (activeFlag.equals("active"))
{
driver.findElement(By.xpath("/html/body/div[1]/section/div/article/form/fieldset/div[3]/div[1]/div[1]/div/div/input")).sendKeys(" ");
}
//If the user role is to be admin then set the Site role to Administrator
if (userLevel.equals("admin"))
{
List <WebElement> roles = new Select(driver.findElement(By.name("community_role"))).getOptions();
roles.get(1).click();
}
Ici est la trace de la pile:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot focus element
(Session info: chrome=47.0.2526.106)
(Driver info: chromedriver=2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067),platform=Windows NT 10.0 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 81 milliseconds
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12'
System info: host: 'Janet-PC', ip: '192.168.56.1', os.name: 'Windows 8.1', os.arch: 'x86', os.version: '6.3', java.version: '1.7.0_80-ea'
Session ID: 0a9dbd54a81a42a4178b25b95bb14f63
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=WIN8_1, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\Janet\AppData\Local\Temp\scoped_dir7508_15608}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:326)
at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:121)
at Viddler_create_user.createUser.test(createUser.java:244)
at Viddler_create_user.createUser.setUpBeforeClass(createUser.java:126)
at Viddler_create_user.createUser.main(createUser.java:64)
Voici une autre trace de la pile. Je suis réellement obtenir le message d'erreur lorsque vous cliquez sur le bouton "soumettre" pas l'indicateur active. Je l'avais déjà fait les actions des étapes que je vais aussi offrir.
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot focus element
(Session info: chrome=47.0.2526.106)
(Driver info: chromedriver=2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067),platform=Windows NT 10.0 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 52 milliseconds
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12'
System info: host: 'Janet-PC', ip: '192.168.56.1', os.name: 'Windows 8.1', os.arch: 'x86', os.version: '6.3', java.version: '1.7.0_80-ea'
Session ID: f332b496aa54d581c764f7328e770e65
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=WIN8_1, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=C:\Users\Janet\AppData\Local\Temp\scoped_dir2072_18936}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=47.0.2526.106, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, hasTouchScreen=false, applicationCacheEnabled=false, takesScreenshot=true}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:326)
at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:121)
at Viddler_create_user.createUser.test(createUser.java:244)
at Viddler_create_user.createUser.setUpBeforeClass(createUser.java:126)
at Viddler_create_user.createUser.main(createUser.java:64)
Code:
Actions actions = new Actions(driver);
actions.moveToElement(driver.findElement(By.xpath("/html/body/div[1]/section/div/article/form/input[2]")));
actions.click();
// actions.sendKeys(" ");
actions.build().perform();
Ah oui j'ai oublié de mentionner que l'erreur se produit pour l'élément de réglage de l'indicateur active. Qui fonctionnait bien jusqu'à ce que j'ai ajouté le code ci-dessus pour affecter l'utilisateur à des groupes.
veuillez affiner la question. où en êtes-vous de réglage activeFlag. erreur stacktrace peut vous aider.
activeFlag est contenu dans un fichier que je lis. Toutes les variables sont définies lorsque je lis le fichier et de séparer la ligne. Je vais ajouter la trace de la pile.
veuillez affiner la question. où en êtes-vous de réglage activeFlag. erreur stacktrace peut vous aider.
activeFlag est contenu dans un fichier que je lis. Toutes les variables sont définies lorsque je lis le fichier et de séparer la ligne. Je vais ajouter la trace de la pile.
OriginalL'auteur Janet | 2015-12-30
Vous devez vous connecter pour publier un commentaire.
méthode sendkeys est le problème que par la trace de la pile.
S'il vous plaît essayer
Actions
classe se concentrent d'abord sur l'élément, puis envoyer les clés requises.from selenium.webdriver.common.action_chains import ActionChains; actions = ActionChains(driver)
A travaillé pour moi. Merci beaucoup pour sauver ma journée.
content que ça a aidé
J'ai obtenu cela fonctionne avant de dur-à-atteignent des boutons. Mais maintenant, j'ai un cas où il n'est pas. Les actions ne fait absolument rien, et preduces pas d'erreurs.
votre commentaire ne me donne aucun fond sur le problème. si vous pensez que votre problème est différent de la situation et de ne pas pouvoir trouver des réponses aux questions précédentes, veuillez créer une nouvelle question sur le SI
OriginalL'auteur parishodak
Les Actions de résolution ne travail après tout. J'ai apparemment eu un pilote supplémentaire.findElementBy la ligne qui doit avoir été commenté que c'était un doublon pour quelque chose que j'avais déplacé vers un autre emplacement.
Merci pour votre aide!!
OriginalL'auteur Janet
Référence pour l'avenir, si d'autres ont rencontré ce problème, assurez-vous que vous êtes seulement de trouver un élément! Chrome outils peuvent être trompeuses, parfois, quand il s'agit de cela.
J'ai re-vérifié mon sélecteur de firePath (extension de firefox) et il s'est avéré que j'avais deux nœuds correspondants, même si chrome outils m'a montré un élément.
https://addons.mozilla.org/en-US/firefox/addon/firepath/
OriginalL'auteur Valeriya
J'ai Trouvé très important de code lors de la lecture de "l'Action de classe" du code.
"Action de classe" Fonctionne en raison de
?!?
.
Essayez Juste de mettre
avant
dans votre code.
méthode click() rend élément est concentré!!~~
THX pour toutes les personnes âgées
OriginalL'auteur 소경현
La réponse choisie n'a fonctionné que partiellement pour moi. En ajoutant
avant d'utiliser la proposition de réponse, il a travaillé complètement!
OriginalL'auteur Alex
C'est une version éditée de la bonne réponse, car j'étais incapable de simplement copier-coller le code. Avec le code ci-dessous, vous pouvez copier coller (Si l'élément est trouvé qu'une pièce d'identité):
OriginalL'auteur Romano