【问题标题】:Selenium get elements by locationSelenium 按位置获取元素
【发布时间】:2016-05-06 13:54:01
【问题描述】:

我正在尝试使用 SeleniumQuery 对一个元素进行点击,但每次我执行点击时,它都会说在同一位置有另一个元素。

有什么方法可以获取同一位置的所有元素?

【问题讨论】:

  • 你尝试过使用 javascript 吗?
  • @Louis 的问题并不完全相同,正如您在下面看到的,除了确定元素是否可点击之外,我需要检查哪个是可点击的,然后点击可点击的。跨度>
  • @Dileep17 我不喜欢注入 javascript,但是谢谢!
  • @jordiPons,您能否添加更多细节,例如在同一位置显示的元素的 HTML 结构??

标签: selenium testing selenium-webdriver automated-tests


【解决方案1】:

我从未见过这样的案例,但我会检查element is clickable(Selenium WebDriver - determine if element is clickable (i.e. not obscured by dojo modal lightbox)) 并点击确实可以点击的那个。

那么,获取这两个元素,然后点击可点击的那个

【讨论】:

    【解决方案2】:

    为了获得所有存在于同一位置的元素,我们可以使用WebDriverfindElements 方法。请在下面找到示例代码:

    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,所以这个解决方案对我不起作用。谢谢
    猜你喜欢
    • 1970-01-01
    • 2011-10-23
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多