我正在尝试返回文本值“我的帐户”,这也是一个链接。
我需要检查字符串以证明我已登录网站。
我已经尝试了所有常用方法(xpath,by css,by href)但没有成功..我显然做错了。
有人可以帮我解决这个问题吗?
希望html图像能够展示我想要实现的目标。 (点击代码显示)
这是我用来登录网站的代码,当我登录时,文本“我的帐户”显示为href。我想返回href文本以写入电子表格。
请参阅代码片段和我尝试返回href文本字符串的一些方法(我已经尝试了很多...但是现在删除了它们,因为没有工作)
另见结果代码。
WebElement element_search1 = driver.findElement(By.xpath("//*[@id='login']"));
driver.findElement(By.xpath("//*[@id='login']")).click();
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.titleContains("Login - mysite.com"));;
WebElement element_search2 = driver.findElement(By.xpath("//*[@id='subscriber_email']"));
driver.findElement(By.xpath("//*[@id='subscriber_email']"));
element_search2.clear();
element_search2.sendKeys("email@email.com");
element_search2.sendKeys(Keys.TAB);
// find and enter password
WebElement element_search3 = driver.findElement(By.xpath("//*[@id='subscriber_password']"));
driver.findElement(By.xpath("//*[@id='subscriber_password']"));
element_search3.clear();
element_search3.sendKeys("password");
driver.findElement(By.name("commit")).click();
System.out.println(driver.findElement(By.linkText("My account")).getAttribute("class"));
System.out.println(driver.findElement(By.linkText("My account")).getText());
结果
Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"link text","selector":"My account"}
它失败了:System.out.println(driver.findElement(By.linkText("My account")).getAttribute("class"))
答案 0 :(得分:0)
以下是您的问题的答案:
要检索类的文本值" user-info"即 My account
,您可以使用以下代码行:
String my_account = driver.findElement(By.xpath("//nav[@class='main-top-nav']//a[@class='user-info' and contains(@href,'/home/manage_account')]")).getAttribute("innerHTML");
System.out.println(my_account);
如果这回答你的问题,请告诉我。