我是硒的新手。我正在尝试执行我的Selenium webdriver测试但是我收到以下错误。
org.openqa.selenium.ElementNotVisibleException:元素不可见
formatted.isText()
我正在尝试使用xpath单击“My Proposed Events”选项卡,我从以下代码中获取:
driver.findElement(By.xpath("html/body/div[1]/div[2]/ul/li[2]/a")).click();
感谢您的帮助:)
答案 0 :(得分:0)
使用以下xpath来定位元素
//li/a[text()='My Proposed Events']
或
//li[@role='presentation']/a[@role='tab']
添加Explicit Wait
,直到您的元素可见,然后点击
WebDriverWait wait = new WebDriverWait(driver, 120);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//li[@role='presentation']/a[@role='tab']")));
driver.findElement(By.By.xpath(".//li[@role='presentation']/a[@role='tab']"))).click();
答案 1 :(得分:-1)
您尝试使用的Xpath不正确。在div [1]之后没有div [2]元素。
尝试使用以下xpaths:
driver.findElement(By.xpath("html/body/div[1]/div[1]/div[1]/ul/li[2]/a")).click();
driver.findElement(By.xpath("//a[contains(text(),'My Proposed Events')]")).click();
或尝试使用LinkText:
driver.findElement(By.linkText("My Proposed Events")).click();
在尝试单击元素
之前使用显式等待WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("put your xpath here")));