【问题标题】:Selenium WebDriver Java - Selenium finds desired option in "select", but doesn't click itSelenium WebDriver Java - Selenium 在“选择”中找到所需的选项,但没有单击它
【发布时间】:2018-02-10 09:24:37
【问题描述】:

我有这个奇怪的问题。我有一个选择下拉列表,一开始选择了空选项,然后尝试从中选择一个选项:

@FindBy(how=How.XPATH, using=".//select[@name='kontakt_l_user_id']")
WebElement przyjecie_select;

            wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//select[@name='kontakt_l_user_id']")));

przyjecie_select.click();
Select sel = new Select(przyjecie_select);
            wait.until(ExpectedConditions.visibilityOfNestedElementsLocatedBy(przyjecie_select, By.xpath("//option[@value='2112']")));
sel.selectByValue("2112");

在测试运行时,我可以看到,单击了此选择下拉菜单,找到了值为“2112”的所需选项,因为它已突出显示,但未选中,并且该空选项仍然可见.

我尝试了很多东西,但结果都是一样的。我什至补充说:

przyjecie_select.click();
    Select sel = new Select(przyjecie_select);
                wait.until(ExpectedConditions.visibilityOfNestedElementsLocatedBy(przyjecie_select, By.xpath("//option[@value='2112']")));
    sel.selectByValue("2112");

但这也行不通。我正在使用 2.53。 你是我唯一的希望!

【问题讨论】:

  • 如果你只是像在 WebElement 上一样在该项目上调用 click() 会怎样?

标签: java select selenium-webdriver


【解决方案1】:

好的,我找到了解决方案,这很简单。 我在 Select 上使用了 .click() 方法,这很糟糕。选择自动查找元素并单击它,因此双击会使计算机混乱。它应该是这样的:

Select sel = new Select(przyjecie_select);
sel.selectByValue("2420");

代替:

przyjecie_select.click();
Select sel = new Select(przyjecie_select);
sel.selectByValue("2420");

首先不尝试单击该 Select 元素。

【讨论】:

  • @chunjef 他用适合他的解决方案回答了自己的问题……他的回答有什么问题?
  • @JeffC:我把这个答案误认为是编辑。撤回我之前的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多