尝试使用selenium键入组合框时遇到困难。实际上是使用javascript和ajax加载数据的组合框。当用户单击按钮下拉列表时,组合框将加载数据。实际上我发现了困难,因为我无法使用函数ipp=&ip1; // make ipp point to ip1
*ipp=ip2; // dereference on ipp, change the value of pointee (i.e. ip1) to ip2
// i.e. make ip1 point to j
*ipp=&k; // change the value of pointee (i.e. ip1) to the address of k
// i.e. make ip1 point to k
cout<<*ip1<<endl; // now we get 30 (i.e. the value of k)
或selectByValue()
。这是代码:
selectByVisibleText()
答案 0 :(得分:0)
请尝试以下c#代码。
IWebElement comboBoxElement = driver.FindElement(By.Id("OBFormFieldSelectInputRequired"));
<强>选项1 强> 使用SendKeys直接发送ComboBox值,因为它只是一个输入元素。
comboBoxElement.SendKeys("ComboBox value to select");
<强>选项2 强> 键入Firts您想要选择的值的几个字符
comboBoxElement.SendKeys("TE");
这将让您的应用程序显示UL和LI标签,其li值以TE开头。现在找到UL元素并找到其子LI元素。迭代每个LI元素并在迭代期间找到所需的值时执行.click。
答案 1 :(得分:0)
尝试以下代码。我用过JAVA
使用普通的SendKeys:
driver.findElement(By.cssSelector("input.OBFormFieldSelectInputRequired").sendKeys("Beginning letters of the word you want");
使用findElements
:
List<WebElement> elements = driver.findElements(By.cssSelector("list items cssSelector"));
for (WebElement element : elements) {
if (element.getText().equalsIgnoreCase("Enter the text you want")) {
element.click();
break;
}
}
或使用Java Robot
:
List<WebElement> elements = driver.findElements(By.cssSelector("list items cssSelector"));
Robot bot = new Robot();
bot.setAutoDelay(1);
for (WebElement element : elements) {
bot.keyPress(KeyEvent.VK_DOWN);
bot.keyRelease(KeyEvent.VK_DOWN);
if (element.getText().equalsIgnoreCase("Enter the text you want")) {
bot.keyPress(KeyEvent.VK_ENTER);
bot.keyRelease(KeyEvent.VK_ENTER);
break;
}
}