我正在使用selenium来模拟一个from。现在在resulat页面中的问题selenium在显示文本的值时混淆:它在第一个textFiled中显示“parisl”,在第二个中显示“marseile”。我无法理解这是什么问题
这是我的代码
public class SeleniumExample {
public static void main(String[] args) throws InterruptedException {
// The Firefox driver supports javascript
FirefoxProfile profile = new FirefoxProfile();
profile.setEnableNativeEvents(true);
RemoteWebDriver driver = new FirefoxDriver(profile);
// WebDriver driver = new FirefoxDriver();
// And now use this to visit Google
driver.get("http://www.voyages-sncf.com/");
// Find the text input element by its name
driver.findElement(By.name("origin_city")).sendKeys("paris");
driver.findElement(By.id("train-destination-city")).sendKeys("marseille");
Thread.sleep(4000);
driver.findElement(By.id("train-book")).click();}
}
答案 0 :(得分:0)
这应该是有效的。也许我有一个建议 - 但我必须猜测并猜测你不是英国人:
为了能够使用我的selenium脚本并拥有正确的键事件,我必须将英语键盘作为我的默认系统布局。当我将键盘设置为捷克语(我的语言)时,一些关键事件无法正常工作。
因此,假设您使用法语布局,我建议您将其切换为英语作为默认键盘
答案 1 :(得分:0)
当我打开该页面时,它会将我重定向到http://www.tgv-europe.com/,而{{3}}没有您正在寻找的输入标记。
也许该网站有一些根据地区重定向的逻辑?
P.S与原始问题无关,但对您的建议是使用隐式等待而不是执行Thread.sleep。除非达到最大时间限制,否则隐式等待将等到您要查找的元素出现。