【问题标题】:How to verify if the name of image contains 5.0 in its name using c# selenium如何使用 c# selenium 验证图像名称中是否包含 5.0
【发布时间】:2018-03-01 17:01:18
【问题描述】:

我想验证图像名称是否包含某些文本。最好的方法是什么

我附上一张图片供参考如下:

【问题讨论】:

  • 你是指src还是alt?
  • src 中的图片名称
  • 您可以使用 JQuery 检查这些属性的值是否包含“5.0”,如下所示: $("img[src*='5.0']") 这将为您提供所有 img来自 dom 的元素,其 src 值包含字符串“5.0”。
  • 如果您想检查该特定元素是否有一个包含“5.0”的 src,您需要先获取该元素,为此您需要为您的元素提供id 或使用 JQuery 选择器的组合通过唯一键选择它(例如,您可以通过它的 alt 文本选择它)。我建议在元素中添加一个 id。
  • 参见:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

标签: c# testing selenium-webdriver automation qa


【解决方案1】:

您可以做到这一点的一种方法(使用 js)是使用 .indexOf 方法。在您的情况下,您可以使用如下代码:

// If you gave your img element an id="picture",
// you could get your src text with this line:
var imageSource = document.getElementById("picture").src;

// boolean for whether or not 5.0 exists in the source
var exists = false;

// indexOf will return the index that 5.0 is located at
// if it does not exist, it will return -1
// here, I evaluate if the index of 5.0 is not -1
// if it is not -1, that means it does exist 
if (imageSource.indexOf("5.0") != -1)
     exists = true;

这是.indexOf 方法的 w3schools 链接: https://www.w3schools.com/jsref/jsref_indexof.asp

是的,这是 JavaScript。您可以使用:Execute JavaScript using Selenium WebDriver in C#

希望这会有所帮助,祝你好运!

【讨论】:

  • 我知道如何在 C# 中运行 JS。你在这里的回答不包括那个。见this
  • @JeffC 您应该从您刚刚发送给我的链接中查看 Dennis Jaheruddin 的答案。
  • @JeffC 老实说,我没有使用过 Selenium WebDriver。但是我确实非常了解 C#,但不想假设普通的 C# 代码可以工作。因为没有人回答,我想我会尽力解决这个问题。不能怪一个人尝试。与其试图让我失望,你总是可以回答这个问题吗?
  • 当我学习网站时,我曾经做同样的事情(用不同于要求的语言给出答案),然后其他人就网站规则对我进行了教育。虽然我可能并不总是同意他们的观点,但我会努力追随他们。我的目的不是“让你失望”,而是告诉你网站规则。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-27
  • 2021-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多