java - Selenium Webdriver 和 findelement

标签 java html selenium

我想找一个元素,xpath是这样的

"//div[@id='contentPane']/div/div[2]/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div[3]/div/div" 然后执行“clickAt”

如果我使用

driver.findElement(By.xpath("//div[@id='contentPane']/div/div[2]/div/div[2]/div[2]/div/div/div[2]/div/div/div/div/div/div/div[3]/div/div"); Action 点击器 = new Actions(driver); clicker.moveToElement(baseElement).moveByOffset(0, 0).click().perform();

我收到异常“未找到元素”。 我做错了什么?

最佳答案

使用这么长的xpath会导致测试用例失败,可以动态添加或删除新的div。应该有部分id保持不变。

例如在id = "someString_1234"中,如果 'someString' 保持不变,而其余部分不断变化,则可以使用 id*='someString' 等符号来定位它。

You can refer this discussion for more info.

关于java - Selenium Webdriver 和 findelement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20992567/

相关文章:

python - 如何使用 Selenium (python)忽略一个元素?

python - 从多个 div (selenium) 中抓取第一个 child 的属性

java - 如何获取工作表

java - java中如何拆分字符串

java - 为什么我的请求会同时命中两个 Controller ?

java并发实践16.1

javascript - 如何检查哪个资源导致网页加载缓慢

html - Safari 中未应用最大高度

javascript - HTML Javascript 使用 slider 栏步骤更改图像

python - Selenium 使用Python : how to correctly click() an element?