代码工作的第一部分将起作用。但第二部分不起作用,没有出现错误,我不知道问题出在哪里。所以请帮忙。
第一部分是登录页面,第二部分是主页。
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();
}
}
答案 0 :(得分:1)
您为xpath
电子邮件文本框添加了错误的ID。
您应该使用session_key-login
代替session_keylogin
。
在您使用sendKeys()
方法的地方使用以下修订后的代码:
driver.findElement(By.xpath("//*[@id=\"session_key-login\"]")).sendKeys("Email");
第二部分解决方案
跳过WebElement声明,因此注释行//WebElement test = null;
使用driver
对象
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();