【问题标题】:Selenium Object Identification IssuesSelenium 对象识别问题
【发布时间】:2015-12-12 15:46:39
【问题描述】:

我有一个包含 2 个值的组合框(比如 Xreg 和 MBA)。 默认情况下,将根据搜索条件仅显示一个值(Xreg 或 MBA)。 Xreg 的 xpath 是

/html/body/div/div[4]/div[2]/form/div[1]/table[2]/tbody/tr[1]/td[2]/select/option[2] 

MBA

/html/body/div/div[4]/div[2]/form/div[1]/table[2]/tbody/tr[1]/td[2]/select/option[3]

如何在页面加载时捕获默认值。它可能是它们中的任何一个,并且每次我想捕获组合框中默认显示的值时

【问题讨论】:

  • 你能分享那个组合框的HTML代码
  • 欢迎来到 Stack Overflow!请阅读指南How do I ask a good question,尤其是关于最小、完整和可验证示例 (MCVE) 的部分。这将帮助您自己解决问题。如果您这样做但仍然卡住,您可以回来发布您的 MCVE、您尝试了什么以及结果如何,以便我们更好地帮助您。

标签: selenium xpath object-identity


【解决方案1】:

您可以为此使用 Selenium 的 Select 类:

// this is only an example with the code provided, usually the select element has an id and you wouldn't necessarily need xpath
By locatorToYourSelectElement = By.xpath("/html/body/div/div[4]/div[2]/form/div[1]/table[2]/tbody/tr[1]/td[2]/select");

WebElement selectElement = driver.findElement(locatorToYourSelectElement);
Select dropdown = new Select(selectElement);

// Supposing you do not have multiple selection you will get the displayed element now very easily:
WebElement currentlySelectedOption = dropdown.getFirstSelectedOption();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2017-11-28
    • 2016-04-04
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    相关资源
    最近更新 更多