【问题标题】:How to locate image link using selenium如何使用硒定位图像链接
【发布时间】:2019-08-10 17:25:42
【问题描述】:

无法在我的个人资料中找到图片超链接。

尝试使用xpathcss locator,但没有任何效果。

  1. driver.findElement(By.cssSelector("//img[contains(@src,'https://d3ejdag3om7lbm.cloudfront.net/assets/img/Default User.png')]")).click();
  2. driver.findElement(By.xpath("//span[@class='user_name']")).click();
  3. driver.findElement(By.cssSelector("span[class='user_name']")).click();

Selenium 找不到元素。

enter image description here

【问题讨论】:

  • 检查你的元素之前是否有任何 iframe。
  • @Sanjay Ramesh 你能分享网址链接吗?
  • @Sureshmani---我看了看,但不是框架。
  • @Frian---URL 是learning.edureka.co ...出于测试目的,我创建了 UN 和 Pw。 UN- selenium.test1908@gmail.com Pw- Selenium@1234

标签: selenium


【解决方案1】:

如果不在框架内,请尝试以下方法 driver.findElement(By.xpath("//img[contains(@src,'https://d3ejdag3om7lbm.cloudfront.net/assets/img/Default')]/parent::button"))

如果上述方法不起作用,请尝试使用 javascript 执行器并单击

【讨论】:

  • 嗨 Nirmal,正如您对 javascriptExecutor..JavascriptExecutor js = (JavascriptExecutor)driver 的建议; js.executeScript("arguments[0].click();", element);问题是我应该为元素部分填写什么,因为它是我要定位的图像。
【解决方案2】:

在我们的应用程序中,我遇到了完全相同的问题。我试图从下拉列表中单击用户图像,我知道我的选择器都是正确的。它偶尔会点击,但从不始终如一。即使摆弄等待时间也没有带来结果。

您的选择器看起来不错。您也可以尝试 By.xpath("//img[@class='user_image']。作为 css 选择器,它将是 img[class='user_image']。

至于@NirmalKumar 的建议,你可以试试他的xpath 和javascriptexecutor。您也可以尝试使用 Actions 类点击。

我的解决方案:我最终通过 javascript 代码为 web 元素添加了一个 id。您是否可以要求其中一位前端开发人员为该特定元素添加一个 id?

【讨论】:

  • 嗨,大卫-它是一个学习网站,要求开发人员添加 id 是我无法企及的。
【解决方案3】:

根据您的问题,您想单击图像图标,尝试在 xpath 下方尝试,无论用户登录如何,它都可以正常工作。请让我知道它是否正常工作,我已经使用您的虚拟凭据登录并在html 元素 btn-group 开放类未显示。

//div[@class='btn-group']/button/img[1]

【讨论】:

    【解决方案4】:

    你的选择器没有问题

    您可能只需要添加一个Explicit Wait 以确保您尝试与之交互的元素存在且可点击,例如:

    new WebDriverWait(driver,10)
            .until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='user_name']")))
            .click();
    

    更多信息:

    【讨论】:

    • new WebDriverWait(driver,20) .until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='webinar-profile-name']"))) .click() ;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 2020-08-31
    • 2014-06-07
    • 1970-01-01
    • 2012-01-12
    • 2012-09-04
    相关资源
    最近更新 更多