我发现很难从组合框元素中选择项目。这个组合框是不同的。当我拖下项目时,我可以看到该项目的实际价值(即aria-activedescendant =“react-select-4-option-3”)。选择特定项目后,该值已更改为“aria-activedescendant =”react-select-4 - value“”。 Plz建议我点击该项目的最佳解决方案。你必须在html代码下的输入部分特别注意这个“aria-activedescendant =”react-select-4 - value“”。
尝试使用以下代码。我只能单击组合框元素而不是值。我使用id =“react-select-4 - value”来单击组合框,它的错误为“元素在点上无法点击”。从技术上讲,系统理解错误。
public void ScrollAndClickOnElement(String loacator,String LocatorValue)
{
WebElement element = null;
if(loacator.equalsIgnoreCase("cssSelector"))
element = driver.findElement(By.cssSelector(LocatorValue));
else if(loacator.equalsIgnoreCase("xpath"))
element = driver.findElement(By.xpath(LocatorValue));
else if(loacator.equalsIgnoreCase("id"))
element = driver.findElement(By.id(LocatorValue));
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);",element);
element.click();
}
public void WaitAndClickElement(String locatorType,String locatorVaue)
{
WebDriverWait wait = new WebDriverWait(driver,50);
if(locatorType.equalsIgnoreCase("cssSelector"))
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector(locatorVaue))).click();
else if(locatorType.equalsIgnoreCase("xpath"))
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(locatorVaue))).click();
else if(locatorType.equalsIgnoreCase("id"))
wait.until(ExpectedConditions.elementToBeClickable(By.id(locatorVaue))).click();
}
ScrollAndClickOnElement("id", AssessmentPageData.ElevatorManufacturer);
WaitAndClickElement("cssSelector",AssessmentPageData.Appollo);
引用此link并使用'select'方法,但它错误为“元素应该已经”选择“但是”是“span”“
答案 0 :(得分:0)
最后找到以下解决方案,
public void SelectBootStrap(String textval){
WebElement listElement = driver.findElement(By.xpath("//div[@class='Select-menu-outer']//div[text()='"+textval+"']"));
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);",listElement);
listElement.click();
}