我尝试使用selenium测试登录功能,但我得到了这个例外:
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@name='Guichet']"}
这是我的代码:
public class LoginTest {
public static WebDriver driver;
@BeforeClass
public void testSetup() {
System.setProperty("webdriver.chrome.driver", "C:\\driver\\chromedriver.exe");
driver=new ChromeDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
//driver.manage().window().maximize();
}
@BeforeMethod
public void openBrowser() {
driver.get("http:url");
System.out.println("We are currently on the following URL" +driver.getCurrentUrl());
}
@Test(description="This method validates the login functionality")
public void loginFunction() {
//WebDriverWait gui = new WebDriverWait(driver,100);
//Locating the email field element via Name tag and storing it in the webelement
WebElement guichet = driver.findElement(By.xpath("//input[@name='Guichet']"));
WebElement matricule = driver.findElement(By.name("Matricule"));
WebElement password = driver.findElement(By.name("Mot_de_passe"));
WebElement save = driver.findElement(By.name("Valider"));
//Entering text into the email field
guichet.sendKeys("0000");
matricule.sendKeys("login");
password.sendKeys("password");
save.click();
}
@AfterMethod
public void postLogin(){
System.out.println(driver.getCurrentUrl());
Assert.assertEquals(driver.getCurrentUrl(), "http:url.html");
}
@AfterClass
public void afterClass(){
//driver.quit();
}
}
注意:我尝试使用和xpath,但仍然不起作用。我也尝试在本文中使用一些解决方案,但没有结果
这是Html页面使用框架的菜单和其他表单登录页面
SCT公司
:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META name="GENERATOR" content="">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE>
</TITLE>
<LINK href="Master.css" rel="stylesheet" type="text/css">
</HEAD>
<FRAMESET rows="14%,78%" frameborder="NO" border="0">
<FRAME src="menu.html" scrolling="NO" name="entete">
<FRAME src="SCT.html">
<NOFRAMES>
<BODY BGCOLOR="#FFFFFF">
<P>L'affichage de cette page requiert un navigateur prenant en charge les
cadres.</P>
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>
driver.switchTo().frame(0);
WebElement guichet = driver.findElement(By.xpath("//input[@name='Guichet']"));
WebElement matricule = driver.findElement(By.name("Matricule"));
WebElement password = driver.findElement(By.name("Mot_de_passe"));
WebElement save = driver.findElement(By.name("Valider"));
//Entering text into the email field
guichet.sendKeys("0000");
matricule.sendKeys("login");
password.sendKeys("password");
save.click();
driver.switchTo().defaultContent();
我不得不重新测试,以前它工作正常,但现在它给我一个错误。 我也尝试了不同的定位器,比如id、name。但仍然会得到相同的错误。
我正在尝试点击图中所示的下拉菜单 这就是我尝试过的 但它给了我这个错误 NoSuchElementException: Message:找不到element://div[@ class = ' choosed-container choosed-container-single ']//a[@ class = ' choosed-single choosed-single-with-deselec
我读过一些在线文章,它们都指向一个方向,即当页面加载元素时,找不到元素。在my setData()中,您可以看到我尝试了一些方法,例如使用wait、implicitwait和第一次单击然后发送用户名。然而,一切似乎都不起作用。我还想过在pageProperties中使用“wait”,但后来改变了主意,因为这可能是一个糟糕的设计。 错误: 系统信息:Windows 10,ChromeDriver 2
如果我运行代码,我会得到以下错误消息error:(69,35)java:不兼容类型:java。lang.对象无法转换为组织。openqa。硒。WebElement此代码用于获取网站中的所有链接,以便我们可以手动测试它以查找所有元素。
我正在尝试使用页面xpath查找并单击元素。当我单击特定元素并使用 firebug 检查它时,即使 firebug 能够同时找到相对路径和绝对路径,路径也从不起作用,并且似乎找不到? 这是火虫识别的相对路径
im 尝试单击此 div 元素,但引发异常。我的代码是: selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法定位元素:{"method":"xpath","selector":"//*[@id='ext-gen1147']"}(会话信息: chrome=80.0.3987.163)