如何在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?