【发布时间】:2018-03-27 15:21:22
【问题描述】:
我尝试使用 cssSelector 和 xpath,但找不到如何从列表中选择一个值。
r.driver.findElement(By.xpath("//div[contains(.,'DOLO -650')]"));
r.driver.findElement(By.className("ui-autocomplete ui-front ui-menu ui-widget ui-widget-content")).click();
List<WebElement> opt = r.driver.findElements(By.xpath("//ul[@class='ui-autocomplete ui-front ui-menu ui-widget ui-widget-content']/li"));
for (WebElement options:opt) {
if(options.getText().equals(opt)) {
options.click(); return;
}
}
WebElement dd = r.driver.findElement(By.id("ui-id-1")); dd.click();
dd.findElement(By.cssSelector("li[value="+ Product+"]")).click();
r.driver.findElement(By.cssSelector("li:nth-child(1).NoBullet.jms-bullet>")).click();
WebElement element = r.driver.findElement(By.name("DOLO -650"));
element.sendKeys("DOLO -650");
element.submit();
<ul id="ui-id-1" class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content">
<li id="ui-id-6" class="ui-menu-item">DOLO -120 60ML</li>
<li id="ui-id-7" class="ui-menu-item ui-state-focus">DOLO -650</li>
<li id="ui-id-8" class="ui-menu-item">DOLO 100ML</li>
</ul>
【问题讨论】:
-
到目前为止你尝试过什么?如果您可以分享stackoverflow.com/help/how-to-ask 中描述的代码示例,那就太好了
-
//1 r.driver.findElement(By.xpath("//div[contains(.,'DOLO -650')]"));
-
//2 r.driver.findElement(By.className("ui-autocomplete ui-front ui-menu ui-widget ui-widget-content")).click(); List
opt = r.driver.findElements(By.xpath("//ul[@class='ui-autocomplete ui-front ui-menu ui-widget ui-widget-content']/li")); for (WebElement options:opt) { if(options.getText().equals(opt)) { options.click();返回; } } -
//3 WebElement dd = r.driver.findElement(By.id("ui-id-1")); dd.click(); dd.findElement(By.cssSelector("li[value="+ Product+"]")).click();
-
//4 r.driver.findElement(By.cssSelector("li:nth-child(1).NoBullet.jms-bullet>")).click();