Java 获取异常:无法定位元素
我正试图写一个脚本来自动登录和注销的网站。但我的脚本失败了,出现了异常:Java 获取异常:无法定位元素,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我正试图写一个脚本来自动登录和注销的网站。但我的脚本失败了,出现了异常: 无法定位元素:{“方法”:“链接文本”,“选择器”:“注销”} 我不知道问题出在哪里。谁能告诉我的定位器有什么问题吗。 下面是我的代码: Actions builder = new Actions(driver); System.out.print("log1"); WebElement element = driver.findElement(By.xpath(".//*[@id='fk-mainhead-id']/di
无法定位元素:{“方法”:“链接文本”,“选择器”:“注销”}
我不知道问题出在哪里。谁能告诉我的定位器有什么问题吗。
下面是我的代码:
Actions builder = new Actions(driver);
System.out.print("log1");
WebElement element = driver.findElement(By.xpath(".//*[@id='fk-mainhead-id']/div[1]/div/div[2]/div[1]/ul/li[6]/a"));
System.out.print("log2");
Action action = builder.moveToElement(element).build();
action.perform();
System.out.print("log3");
driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
driver.findElement(By.linkText("Logout")).click();
}
你很幸运。。最近,我帮助一个人登录和注销flipkart。下面是脚本:
@Config(url="http://flipkart.com", browser=Browser.FIREFOX)
public class TestFlipKart extends Conductor {
@Test
public void testLoginLogout() {
String username = "<username>";
String password = "<password>";
click(By.cssSelector("a[href*='/login']"))
.setText(By.cssSelector("input[name='email']"), username)
.setText(By.cssSelector("input[name='password']"), password)
.click(By.cssSelector("input[type='submit'][value='Login']"))
.validatePresent(By.cssSelector("li.greeting-link > a"))
.hoverOver(By.cssSelector("li.greeting-link > a"))
.click(By.cssSelector("ul.account-dropdown a[href*='/logout']"))
// should be logged out now.
.validatePresent(By.cssSelector("a[href*='/login']"));
}
}
@Config(url=”http://flipkart.com,browser=browser.FIREFOX)
公共类TestFlipKart扩展导体{
@试验
public void testLoginLogout(){
字符串username=“”;
字符串密码=”;
单击(按.cssSelector(“a[href*=”/login']))
.setText(由.cssSelector(“输入[name='email']”),用户名)
.setText(由.cssSelector(“输入[name='password']”),密码)
。单击(由.cssSelector(“输入[type='submit'][value='Login']))
.validatePresent(由.cssSelector(“li.greeting-link>a”))
.hoverOver(通过.cssSelector(“li.greeting-link>a”))
。单击(由.cssSelector(“ul.account-dropdown a[href*=”/logout']))
//现在应该注销了。
.validatePresent(通过.cssSelector(“a[href*=”/login']);
}
}
请注意,这是在使用框架。您可以将我在其中的CSS选择器转换为您的脚本。可能重复的CSS选择器