【问题标题】:Select an Image button using Selenium inside anchor tag在锚标记内使用 Selenium 选择图像按钮
【发布时间】:2015-02-21 11:31:44
【问题描述】:

如何选择一个类似于下面代码的图像按钮 在 C# 中使用 Selenium。我已使用 Xpath 来查找元素。

<a onclick="resetValues();UploadFile();" href="#">
   <img alt="Upload Selected" src="images/buttons/button_template.gif">
</a>

这是我尝试过的 Xpath。
Driver.FindElement(By.XPath(string.Format("//img[@alt='Upload Selected']/"))).Click()

【问题讨论】:

  • 删除 xpath 末尾的 "/" "//img[@alt='Upload Selected']/" 并将其更改为 //img[@alt='Upload Selected']。这可能是您的代码可能失败的原因

标签: c# html selenium xpath


【解决方案1】:

尝试使用下面的任何 Xpath。它应该适合你

(By.xpath("//a[@onclick='resetValues();UploadFile();']//img"))

(By.xpath("//img[@src ='images/buttons/button_template.gif']"))

(By.xpath("//img[@src ='images/buttons/button_template.gif' and @alt='Upload Selected']"))

【讨论】:

  • //img[@alt='Upload Selected'] 不起作用的任何原因,您必须将表达式更改为完全不同的表达式?
  • 如果它的唯一属性值为“Upload Selected”,那么它也可以工作。我没有提到的原因是因为您在答案中使用了相同的方法,它应该可以工作。
【解决方案2】:

(免责声明:我不熟悉 Selenium,只熟悉 XPath。)

/ 结尾的XPath 表达式无效。只需删除末尾的/

Driver.FindElement(By.XPath(string.Format("//img[@alt='Upload Selected']"))).Click()

另外,我不确定为什么 string.Format() 会在其中,但话说回来,我不熟悉 Selenium。

【讨论】:

    猜你喜欢
    • 2021-02-11
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 2014-04-27
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    相关资源
    最近更新 更多