我的代码是:
public class LoginGmail{
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver","D:/selenium/chromedriver_win32/chromedriver.exe");
WebDriver fd= new ChromeDriver();
fd.get("https://www.google.com/intl/en_in/gmail/about/");
Thread.sleep(5000);
fd.manage().window().maximize();
WebElement e1=fd.findElement(By.xpath("html/body/nav/div/a[2]"));
e1.click();
WebElement username = fd.findElement(By.xpath(".//*[@id='identifierId']"));
username.sendKeys("sharmi.paul87@gmail.com");
WebElement username_click = fd.findElement(By.xpath(".//*[@id='identifierNext']/content/span"));
username_click.click();
WebDriverWait wait = new WebDriverWait(fd,30);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//input[@aria-label="Enter your password"]")));
WebElement password= fd.findElement(By.xpath("//input[@aria-label="Enter your password"]"));
password.sendKeys("pramilapaul");
WebElement password_click = fd.findElement(By.xpath(".//*[@id='passwordNext']/content"));
password_click.click();
/* --------------------------*/
//fd.findElement(By.xpath("//div[contains(text(),'COMPOSE')]")).click();
//WebElement button=fd.findElement(By.xpath("//div[contains(@id,':ir')]"));
//WebElement buttton=fd.findElement(By.xpath("//div[@gh='cm']"));*/
//WebElement button=fd.findElement(By.cssSelector(".aic div[role='button']"));
// button.click();
网页代码:
组成在上面"/--/" 任何 XPath 都不起作用。 谁能帮忙?xpath 显示无法定位元素或复合类是禁止的错误。
此 xpath "//div[@id=':ii']/div/div"
或.//div[normalize-space()='COMPOSE']
为我单击撰写按钮。
试试这个
driver.findElement(By.xpath("//div[@id=':ii']/div/div"));
或
driver.findElement(By.xpath(".//div[normalize-space()='COMPOSE']"));
我在WATIR中编写了以下给定的程序并对其进行了检查,它可以工作,您可以在程序中使用相同的定位器,并且可以执行它。
b.goto("www.gmail.com")
b.a(:text, "Sign In").click
b.element(:id, "identifierId").send_keys "sharmi.paul87@gmail.com"
b.element(:css, "#identifierNext > content.CwaK9 > span.RveJvd.snByac").click
b.element(:name, "password").send_keys "pramilapaul"
b.element(:css, "span.RveJvd.snByac").click
b.element(:xpath, "//div[@id=':ii']/div/div").click