尝试在下拉菜单中选择菜单上的两个元素时遇到主要问题。我尝试了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)处不可单击。 其他元素将获得点击:...
答案 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')]