我正在尝试点击下拉按钮,代码运行成功,但未在selenium中点击下拉按钮。
<select id="comp_drpdwn" data-select-id="f41d68e6-38b3-19cc-c392-3c9fc33690e8" class="initialized">
<option value="0">Select Company</option>
<option value="Acme~54sc234xb">Acme</option>
<option value="Acme Bar & Grill~TI17267302">Acme Bar & Grill</option>
<option value="Ball & Chain~TI58377308">Ball & Chain</option>
我的代码是:
WebElement element = driver.findElement(By.xpath(".//*[@id='comp_drpdwn']"));
Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();
答案 0 :(得分:0)
这是一个选择标签。您可以使用Select class of selenium。
例如,要选择Acme选项,请尝试以下代码。
WebElement element = driver.findElement(By.xpath(".//*[@id='comp_drpdwn']"));
Select sel = new Select(element);
sel.selectByVisibleText("Acme");
答案 1 :(得分:0)
这应该有效:
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='comp_drpdwn']")));
Select select = new Select(element);
select.selectByVisibleText("Acme");
答案 2 :(得分:0)
@ Murthi的方法几乎是正确的方向。由于元素是<select>
元素,因此您必须使用Select
类的实例。但似乎option
代码的值和 VisibleText 属性包含动态文本(例如~54sc234xb
)和特殊字符(例如{{1} }})。所以我的方法是使用selectByIndex(int index)
方法,如下所示:
&