0

我正在努力填充一个下拉列表,我可以让它选择它,但不确定如何选择值:

var TitleField = WDS.browser.findElement(pkg.By.id('Title'))
TitleField.click()
TitleField.sendKeys(['Mr'])

我看过一些文章,它说您必须导入驱动程序:

var driver  = JavaImporter(org.openqa.selenium.support.ui.Select)

Select selectObject = new Select(driver.findElement(By.id(Title)));
selectObject.selectByValue('Mr');

但这会阻止整个测试运行。

有人可以澄清我需要做什么来使用javascript选择下拉值吗?

谢谢

4

1 回答 1

1

根据Select JavaDoc它应该被实例化为:

Select(WebElement element)

所以你正在寻找正确的方向,但实施有点不正确。正确的应该是这样的:

var element = WDS.browser.findElement(org.openqa.selenium.By.id('Title'))
var select = new org.openqa.selenium.support.ui.Select(element)
select.selectByVisibleText('Mr')

我不能保证它会在您的环境中运行,以防万一在下面的 W3Schools上找到针对 Select try-it-yourself 的完整端到端演示:

WDS.browser.get('http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select')
WDS.browser.switchTo().frame('iframeResult')
var element = WDS.browser.findElement(org.openqa.selenium.By.xpath('//select'))
var select = new org.openqa.selenium.support.ui.Select(element)
select.selectByVisibleText('Opel')

有关更多 WebDriver Sampler 提示和技巧,请参阅WebDriver Sampler:您回答的 10 大问题。

于 2015-07-29T16:05:37.403 回答