Selenium webdriver 如何使用selenium在元素列表中选择元素?

Selenium webdriver 如何使用selenium在元素列表中选择元素?,selenium-webdriver,xpath-2.0,Selenium Webdriver,Xpath 2.0,我点击下拉列表按钮。然后它就像上面提到的图片。 所以我必须点击Item1。之后,我必须选择Xyz。那么我应该走哪条路呢 你可以用很多方法来做 通过使用getFirstSelectedOption,您可以选择第一个元素,通过使用selectByVisibleTextXyz selenium将单击Xyz,但问题是您的DOM必须包含用于下拉列表的select属性。还有许多其他方法可以在HTML中创建下拉选项 Select dropdown = new Select(driver.findElement

我点击下拉列表按钮。然后它就像上面提到的图片。
所以我必须点击Item1。之后,我必须选择Xyz。那么我应该走哪条路呢

你可以用很多方法来做

通过使用getFirstSelectedOption,您可以选择第一个元素,通过使用selectByVisibleTextXyz selenium将单击Xyz,但问题是您的DOM必须包含用于下拉列表的select属性。还有许多其他方法可以在HTML中创建下拉选项

Select dropdown = new Select(driver.findElement(By.xpath("//img[@id='ext-gen7']")));
dropdown.getFirstSelectedOption();
dropdown.selectByVisibleText("Xyz");
现在,如果您的DOM没有使用select创建下拉列表,您也可以直接使用.click方法。找到元素并直接使用单击该位置。单击。这将多次奏效

List<WebElement> examples = driver.findElements(By.xpath("YOUR XPATH"));

for (WebElement option: examples) 
{ 
        if(option.getText().contains("Item2") )
         option.click();       
        else{
           syso("I do not want to click")
     }
}

确保上述Xpath应返回您的所有下拉列表值。

请共享您的html代码欢迎使用堆栈溢出!你尝试过什么,结果如何?就像你在学校做的那样。。。请出示你的作品这是获得问题答案的过程的一部分。它对你很有帮助,因为它迫使你调查自己的问题并仔细思考。它还向读者证明,你做了功课,并做出了合理的尝试来回答自己的问题。第三,它帮助读者找到并诊断问题,从而为您提供更好的答案,减少我们浪费的时间。有没有办法避免这种例外情况?因为我尝试了这么多的方法来实现这一点。你是否尝试过-找到元素并正常单击它,就像我们单击任何按钮一样。如果我像driver.findElementBy.id.那样编写。。然后没有异常出现。但是如果我使用Select类,那么异常就出现了。这是因为html中的Select标记中没有定义元素。它是在div标记中定义的。如果元素是在div标记中定义的,请您建议我如何选择元素。我的意思是说单击是可能的,但如何选择?单击该下拉列表后,请选择另一个下拉列表即将到来。我无法在那里单击。如果我可以单击那里,则无需选择类。在这种情况下,正如我在回答中提到的,您不能使用选择。为此,您需要使用div List,然后根据循环中的需要单击它们。。。如果你可以共享html,那么我可以为你编写代码