Selenium WebDriver Java - Selenium在“select”中找到所需的选项,但不会单击它

时间:2017-09-01 10:19:16

标签: java select selenium-webdriver

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

@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。 你是我唯一的希望!

1 个答案:

答案 0 :(得分:0)

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

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

而不是:

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

首先没有尝试点击Select元素。