【发布时间】:2020-01-21 02:22:03
【问题描述】:
我正在尝试使用 Selenium WebDriver 单击具有以下 HTML 代码的按钮:
<a class="uir-item-edit" href="/app/accounting/transactions/transaction.nl?id=400000&e=T"
id="edit_/app/accounting/transactions/transaction.nl?id=400000"
aria-label="Edit Sales Order:300000 / 400000 ">Edit</a>
我的代码:
driver.findElement(By.cssSelector("a[aria-label *= 'Edit Sales Order']")).click();
我需要通过 Aria 标签进行识别,因为所有其他组件要么有重复,要么改变了数字。
我的 CSS 选择器一定有问题,但我想不通。
如果我应该包含错误代码、更多信息,或者我是否在帖子中做错了什么,请告诉我。 谢谢!
编辑:aria 标签也发生了变化,HTML 上的位置也发生了变化,所以我不能使用 xpath。下面的 DebanJanB 的回答点击了该元素,但只有当我手动将鼠标悬停在上面时。
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.uir-item-edit[aria-label^='Edit Sales Order'][id*='transactions']"))).click();
【问题讨论】:
-
您的代码看起来不错。一定要试试here。
-
你得到了什么错误?
-
检查元素是否存在于任何 iframe 中?
-
DebanJanB' 答案会在我将鼠标悬停在该元素上时单击它。所以现在我想弄清楚如何将鼠标移到元素上,但这似乎有同样的问题。
-
鼠标移到它上面,问题解决了!
标签: java selenium xpath css-selectors webdriverwait