Ich versuche, meinen Zugang zu automatisieren und einige Verschrottung auf einer französischen Website. (http://espaceclientcanal.canal-plus.com/aide/pid792-s-inscrire-sur-l-espace-client.html).webdriver fehler mit sso form
Ich habe einen gültigen Account, aber ich kann mich nicht mit Selen anmelden. Ich habe es geschafft Elemente mit XPath-Ausdrücken oder mit Code wie folgt zu greifen:
browser.findElement(webdriver.By.id('sso-email')).sendKeys('[email protected]');
//var emailField = browser.findElement(webdriver.By.xpath("//input[@id='sso-email']")) ;
habe ich auch die folgende Funktion, um sicherzustellen, ein Element vorhanden ist:
function isElementPresent(driver, by){
try{
driver.findElement(by);
return true;
}catch(NoSuchElementException){
return false;
}
}
Init meine WebDriver wie folgt aus:
var fs = require('fs');
var chromedriver = require('chromedriver');
var webdriver = require('selenium-webdriver');
var browser = new webdriver.Builder().usingServer().withCapabilities({ 'browserName': 'chrome' }).build();
Jedes Mal, wenn ich die folgende Fehlermeldung erhalten:
NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[id="sso-email"]"} (Session info: chrome=56.0.2924.87) (Driver info: chromedriver=2.28.455520 (cc17746adff54984afff480136733114c6b3704b),platform=Windows NT 10.0.14393 x86_64)
Ich bin zuversichtlich, auf meinem XPath-Ausdruck (vielleicht bin ich falsch) ...
Ich verstehe nicht, was der Fehler ist.
Das Anmeldeformular scheint als Komponente generiert zu werden (ein Fortschrittsrad wird zuerst angezeigt); wäre es möglich, dass dies speziell dafür gedacht ist, automatisierungsskripte zu verhindern?