gpt4 book ai didi

java - 为什么 Selenium 测试网站不能在多个页面上运行?

转载 作者:行者123 更新时间:2023-12-02 11:18:32 26 4
gpt4 key购买 nike

代码工作的第一部分将起作用。但是第二部分不行,也没有出现错误,也不知道问题出在哪里。所以请帮忙。

第一部分是登录页面,第二部分是主页。

package Test;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
//import org.openqa.selenium.chrome.ChromeDriver;

public class test {

public static void main(String[] args) throws InterruptedException {

WebDriver driver;

System.setProperty("webdriver.gecko.driver",
"E:\\Quality\\drivers\\geckodriver.exe");

driver =new FirefoxDriver();

driver.get("https://www.linkedin.com/uas/login");
// first part//
driver.findElement(By.xpath("//*[@id=\"session_key-login\"]")).click();

driver.findElement(By.xpath("//[@id=\"session_keylogin\"]")).sendKeys("Email");

driver.findElement(By.xpath("//*[@id=\"session_password-login\"]")).click();
driver.findElement(By.xpath("//*[@id=\"session_password-login\"]")).sendKeys("*******");

driver.findElement(By.xpath("//*[@id=\"btn-primary\"]")).click();
// second part//
WebElement test = null ;
test.findElement(By.xpath("/html/body/div[5]/div[5]/aside/div/header")).click();

}
}

最佳答案

您为电子邮件文本框的 xpath 输入了错误的 ID。

您应该使用session_key-login而不是session_keylogin

只需在使用 sendKeys() 方法的地方使用以下修改后的代码即可:

driver.findElement(By.xpath("//*[@id=\"session_key-login\"]")).sendKeys("Email");

第二部分解决方案

跳过 WebElement 声明,因此注释行 //WebElement test = null;

使用驱动程序对象来使用线路

driver.findElement(By.xpath("/html/body/div[5]/div[5]/aside/div/header")).click();

您还可以使用 xpath //*[@id=\"msg-overlay\"]/div/header
因此修改后的代码是:

driver.findElement(By.xpath("//*[@id=\"msg-overlay\"]/div/header")).click();

关于java - 为什么 Selenium 测试网站不能在多个页面上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50092007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com