我有一个问题,当我试图选择一个选项在 <select>
在 selenium 中。
Select select = new Select(element);
actions.moveToElement(element);
select.selectByValue("100000");
这只会让我 ElementClickIntercepted
. 试着点击它也会让我 ElementClickIntercepted
. 试着用js点击它给了我一个机会 NullPointerException
. 我可以很容易地在firefox中使用元素选择器来选择它,所以没有任何东西可以阻止我点击它。
什么是拦截点击?通常,当一个元素叠加另一个元素时,它会在测试结果中告诉我,但在这里它没有。
<div class="pull-left">
<select name="nb" class="form-control">
<option value="10">10</option><option value="20">20</option><option value="50">50</option><option value="100000">All</option>
</select>
</div>
选择xpath:
//select[@name="nb"]
它是页面上唯一的选择。
2条答案
按热度按时间iq3niunx1#
因为元素是
<select>
元素,您需要使用select类。调用click()
在值为1000的选项上,需要为elementToBeClickable()
您可以使用以下任一定位器策略:cssSelector
:new Select(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//select[@class='form-control' and @name='nb']")))).selectByValue("100000");
bis0qfac2#
试试这个: