Java 如何从不是selenium下拉列表的列表中获取值

Java 如何从不是selenium下拉列表的列表中获取值,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,Newinputundefined::-ms clear{display:none;}由于下拉列表由Div和span标记组成,因此Select类在selenium中不起作用 您可以尝试的代码: List<WebElement> options = driver.findElements(by.xpath(" your locator")); for(WebElement element : options){ if(element.getText().equals(" your v


Newinputundefined::-ms clear{display:none;}由于下拉列表由Div和span标记组成,因此Select类在selenium中不起作用

您可以尝试的代码:

List<WebElement> options = driver.findElements(by.xpath(" your locator"));
for(WebElement element : options){
 if(element.getText().equals(" your value from drop down")){
    element.click();
}
}  

如果您还有任何问题,请告诉我

由于下拉列表由Div和span标记组成,因此Select类在selenium中不起作用

您可以尝试的代码:

List<WebElement> options = driver.findElements(by.xpath(" your locator"));
for(WebElement element : options){
 if(element.getText().equals(" your value from drop down")){
    element.click();
}
}  

如果您还有任何问题,请告诉我

由于您得到的元素错误,无法滚动到视图中。 您应该尝试使用JavascriptExecutor进行滚动

这种方式将允许您水平/垂直滚动页面 JavaScriptExecutordriver.ExecuteScriptScroll0200-仅垂直滚动200像素 二,。使元素成为焦点

((JavaScriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", element);

由于您遇到错误,无法将元素滚动到视图中。 您应该尝试使用JavascriptExecutor进行滚动

这种方式将允许您水平/垂直滚动页面 JavaScriptExecutordriver.ExecuteScriptScroll0200-仅垂直滚动200像素 二,。使元素成为焦点

((JavaScriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", element);

由于选项“new”定义了id属性,因此使用id直接单击对象。 如果已经单击了下拉按钮,下面的代码应该可以工作

driver.findElement(By.id("react-select-3--value")).click();
driver.findElement(By.id("react-select-3--value-item")).click();

由于选项“new”定义了id属性,因此使用id直接单击对象。 如果已经单击了下拉按钮,下面的代码应该可以工作

driver.findElement(By.id("react-select-3--value")).click();
driver.findElement(By.id("react-select-3--value-item")).click();
谢谢你的回复。 它使用下面的查询,即通过合并send key和key.enter-

driver.findElement(By.id("react-select-3--value")).click();
driver.findElement(By.xpath("/html/body/section/div/div[2]/section/div/from/div/div[3]/div[1]/div/div/div[2]/div/div/div/div/div/span[1]/div[2]/input")).sendKeys("New",Keys.ENTER);
谢谢你的回复。 它使用下面的查询,即通过合并send key和key.enter-

driver.findElement(By.id("react-select-3--value")).click();
driver.findElement(By.xpath("/html/body/section/div/div[2]/section/div/from/div/div[3]/div[1]/div/div/div[2]/div/div/div/div/div/span[1]/div[2]/input")).sendKeys("New",Keys.ENTER);


可能重复使用div但不起作用您可以共享HTML代码吗?将所有内容都放在一个web元素列表中,然后尝试单击其中一个web元素是执行此操作的标准方法。我已共享了html编码的图像。如果您以纯文本形式共享该图像,我们将很容易复制html代码并为您提供适当的解决方案。下拉列表中有多少个选项?可能重复使用div但无效。您可以共享HTML代码吗?将所有内容都放在一个web元素列表中,然后尝试单击其中一个web元素是执行此操作的标准方法。我已共享了html编码的图像。如果您以纯文本形式共享该图像,我们将很容易复制html代码并为您提供适当的解决方案。下拉列表中还有多少选项?WebElement options List=driver.findElementBy.xpath//span[contains@class,“选择多值包装器”];List options=optionsList.findElementsBy.xpath//span[contains@class,“选择值标签”];options.get0.click;我也尝试过使用xpath,但仍然没有选择值共享html标记请告诉我相同的解决方案…下拉列表中有两个值-New和UsedWebElement options list=driver.findElementBy.xpath//span[contains@class,“选择多值包装器”];List options=optionsList.findElementsBy.xpath//span[contains@class,“选择值标签”];forWebElement选项:选项{if option.getText.equalsNew{option.click;}}…在执行上述操作时,不会显示错误,也不会选择值。首先,您必须编写代码以单击下拉列表,然后,只有您可以使用my solution.WebElement optionsList=driver.findElementBy.xpath//span[contains@class,“选择多值包装器”];List options=optionsList.findElementsBy.xpath//span[contains@class,“选择值标签”];options.get0.click;我也尝试过使用xpath,但仍然没有选择值共享html标记请告诉我相同的解决方案…下拉列表中有两个值-New和UsedWebElement options list=driver.findElementBy.xpath//span[contains@class,“选择多值包装器”];List options=optionsList.findElementsBy.xpath//span[contains@class,“选择值标签”];forWebElement选项:选项{if option.getText.equalsNew{option.click;}}…在执行上述操作时,不会显示错误,也不会选择值。首先,您必须编写代码以单击下拉列表,那么只有您可以使用我的解决方案。尝试过的javascript-//JavascriptExecutor je=JavascriptExecutor驱动程序;//WebElement=driver.findElementBy.xpath//span[contains@class,'Select-value-label'];//je.executeScriptarguments[0]。scrollIntoViewtrue;,要素但不能滚动查看相同的javascript-//JavascriptExecutor je=JavascriptExecutor驱动程序;//WebElement=driver.findElementBy.xpath//span[contains@class,'Select-value-label'];//je.executeScriptarguments[0]。scrollIntoViewtrue;,要素但是,如果要查看错误,则不能滚动Din。这只是单击下拉列表,而不是从listEdit中选择新值。我添加了代码以单击列表中的新值。请试着让我知道。我给了福洛
wing错误-无法定位元素:react \-select \-3 \-value \-item多次尝试后-以下代码将在下拉字段中键入New-driver.findElementBy.xpath/html/body/section/div/div[2]/section/div/from/div/div/div[3]/div[1]/div/div/div[2]/div/div/span[1]/div[2]/input.sendKeyNew;但这仍然不允许使用enter键,就像我们按照手动步骤一样,它通常会选择新的驱动程序。findElementBy.xpath//span[@id='react-select-10-value'].sendKeysKeys.enter;这只会单击下拉列表,而不会从listEdit中选择新值:我添加了代码以单击列表中的新值。请尝试并告知。我给出了以下错误-无法定位元素:react \-select \-3 \-value \-item多次尝试后-以下代码将在下拉字段-driver.findElementBy.xpath/html/body/section/div/div[2]/section/div/from/div/div[3]/div[1]/div/div/div[2]/div/div/div/div/div/div/div/div/span[1]/div[2]/input.keyssendnew;但这仍然不允许使用enter键,就像我们按照手动步骤一样,它通常会选择新的驱动程序。findElementBy.xpath//span[@id='react-select-10-value'].sendKeysKeys.enter;