无法选择网页上的元素

时间:2018-07-03 10:48:15

标签: java selenium ui-automation

尝试在下拉菜单中选择菜单上的两个元素时遇到主要问题。我尝试了xpaths,链接文本和css选择器,但不会选择密码按钮或注销按钮。

用于密码按钮的Xpath:"//*[@id='app']/header/div[3]/nav/ul/li/a"

用于注销按钮的CSS:["data-logged-in-log-out-button"] 用于注销按钮的XPath:"//*[@id='app']/header/div[3]/nav/ul/a"

选择密码时出现的错误是:

  

org.openqa.selenium.WebDriverException:未知错误:元素...在点(989,233)处不可单击。   其他元素将获得点击:...

Html and dropdown

2 个答案:

答案 0 :(得分:0)

可以请您尝试-

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class A {

    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        driver.get("url here");
        WebDriverWait wait = new WebDriverWait(driver, 10);
        wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Log Out")));
        driver.findElement(By.linkText("Log Out")).click();;
    }

}

如果仍然无法正常运行,请尝试-

import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class A {

    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        driver.get("url here");

        JavascriptExecutor js = (JavascriptExecutor) driver;
        js.executeScript("arguments[0].click();", driver.findElement(By.linkText("Log Out")));
    }

}

答案 1 :(得分:0)

请尝试使用以下XPath以及明确的等待条件。

XPath:

//*[contains(text(),'Log out')]