java - Selenium 图像元素 id 每次执行后都会改变 - 如何点击图像

标签 java eclipse selenium selenium-webdriver

我正在尝试单击图像,但在每次执行后或当应用程序的新 swssion 打开时,分配给该图像的“id”会发生如下所述的更改。请帮我解决这个问题。

<img class="x-form-trigger x-form-arrow-trigger" id="ext-gen307" src="/slm/js-lib/ext/2.2/resources/images/default/s.gif" complete="complete"/>

<img class="x-form-trigger x-form-arrow-trigger" id="ext-gen306" src="/slm/js-lib/ext/2.2/resources/images/default/s.gif" complete="complete"/>

<img class="x-form-trigger x-form-arrow-trigger" id="ext-gen308" src="/slm/js-lib/ext/2.2/resources/images/default/s.gif" complete="complete"/>

最佳答案

我个人更喜欢使用id , nametitle要匹配的属性。由于您想要的图像有 id ,您可以对其进行匹配。

但是,ID 似乎是动态的,因此您需要考虑到这一点。

driver.findElement(By.cssSelector("img[id^='ext-gen']"))

这个,在英语中的意思是"Find me an <img> that has an id="" attribute that *starts with* "ext-gen"

您可以匹配src ,但就个人而言,您应该更喜欢其他不太可能更改的属性,例如 ID。

参见this page有关 Selenium CSS 选择器的引用。

关于java - Selenium 图像元素 id 每次执行后都会改变 - 如何点击图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29560007/

相关文章:

java - 是否需要安装 EE 服务器才能使用 JMS?

java - 如何处理 selenium 中的 javascript 弹出框

Python Selenium - 在这种情况下如何上传图像?

java - Selenium:如何从另一个类调用方法(截图)

java - Hibernate二级缓存以防软删除

Java bean 验证带范围的大写字母

java - 应用程序转换为 .jar 时 FileChooser 不工作

eclipse - eclipse 中的 Tomcat 生成了一个带有 .war 的 war 文件?扩大

java - 如何使 Tomcat 7 类的实例保持 Activity 状态

java - 为什么 Eclipse 不能识别 import java.JOptionPane?