Selenium 按位置获取元素
Posted
技术标签:
【中文标题】Selenium 按位置获取元素【英文标题】:Selenium get elements by location 【发布时间】:2016-05-06 13:54:01 【问题描述】:我正在尝试使用 SeleniumQuery 对一个元素进行点击,但每次我执行点击时,它都会说在同一位置有另一个元素。
有什么方法可以获取同一位置的所有元素?
【问题讨论】:
Selenium WebDriver - determine if element is clickable (i.e. not obscured by dojo modal lightbox)的可能重复 你尝试过使用 javascript 吗? @Louis 的问题并不完全相同,正如您在下面看到的,除了确定元素是否可点击之外,我需要检查哪个是可点击的,然后点击可点击的。跨度> @Dileep17 我不喜欢注入 javascript,但是谢谢! @jordiPons,您能否添加更多细节,例如在同一位置显示的元素的 html 结构?? 【参考方案1】:我从未见过这样的案例,但我会检查element is clickable
(Selenium WebDriver - determine if element is clickable (i.e. not obscured by dojo modal lightbox)) 并点击确实可以点击的那个。
那么,获取这两个元素,然后点击可点击的那个
【讨论】:
【参考方案2】:为了获得所有存在于同一位置的元素,我们可以使用WebDriver
的findElements
方法。请在下面找到示例代码:
List<WebElement> allElements = driver.findElements(By.xpath(<locator to identify the elements>));
// You can loop through the available elements using for-each loop
for(String eachEle : allElements)
// Write the logic
希望对你有帮助
【讨论】:
使用浏览器检查器我可以发现在同一个位置有两个元素,但它们有不同的 xpath,所以这个解决方案对我不起作用。谢谢以上是关于Selenium 按位置获取元素的主要内容,如果未能解决你的问题,请参考以下文章