如何在Selenium中单击带有锚标记的图像或图标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Selenium中单击带有锚标记的图像或图标相关的知识,希望对你有一定的参考价值。

我正在为gmail登录和注销编写脚本。我已成功登录。现在要做Logout,我必须先点击其中有Logout按钮的User图标。我正在编写如下代码,但它不起作用:

driver.findElement(By.cssSelector("a[title=Google Account: FirstName LastName   (email@gmail.com)]")).click();

请让我知道解决方案。提前致谢!

答案

您可以尝试“a [title = Google Account:”+ firstName + lastName +“(”+ eMail +“)]”

firstName,lastName和eMail是String变量。你可能应该使用@title,但我不太确定。

Look here a simple example of concatenation

另一答案

要在用户图标上使用click(),然后在带有文本的链接上使用click()注销,您必须为带有文本的链接引导WebDriverwait,因为注销是可点击的,您可以使用以下代码行:

  • cssSelector//Click on the image driver.findElement(By.cssSelector("a[role=button][title^='Google Account']")).click(); //Click on Sign out new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a[href^='https://accounts.google.com/Logout']"))).click();
  • xpath//Click on the image driver.findElement(By.xpath("//a[@role='button' and contains(@title,'Google Account') and contains(@href,'https://accounts.google.com/SignOutOptions')]")).click(); //Click on Sign out new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[contains(@href,'https://accounts.google.com/Logout')]"))).click();

以上是关于如何在Selenium中单击带有锚标记的图像或图标的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Selenium Webdriver和Java编写定位器来单击img?

如何获取单击的动态绑定锚标记的父 div?

在设置背景图像时隐藏锚标记文本

如何使用 Selenium Python 单击锁定图像文件

一页导航 - 在 Wordpress 菜单中使用锚标记时删除 url 中的 #

css:在锚标记上添加背景图像 URL