带有下拉列表的问题与Selenium一起使用-Java和Chrome]]

问题描述 投票:0回答:2

我正在尝试从下拉列表中选择一个元素,但是在执行过程中出现此错误:

线程“ main”中的异常org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{“ method”:“ xpath”,“ selector”:“ // select [@ id ='id12']”}] >>

下拉列表的HTML代码为:

<select style="width:163px" name="department:department" id="id12">
    <option selected="selected" value="">Escoge</option>
    <option value="100">100</option>
    <option value="999">999</option>
    <option value="800">800</option>
    <option value="700">700</option>
    <option value="600">600</option>
    <option value="540">540</option>
    <option value="500">500</option>
    <option value="400">400</option>
    <option value="345">345</option>
    <option value="280">280</option>
    <option value="270">270</option>
    <option value="264">264</option>
    <option value="262">262</option>
    <option value="251">251</option>
    <option value="201">201</option>
    <option value="82">82</option>
    <option value="81">81</option>
    <option value="50">50</option>
    <option value="21">21</option>
    <option value="19">19</option>
    <option value="001">001</option>
</select>

我的Java代码是:

WebElement dropdownlist = driver.findElement(By.xpath("//select[@id='id12']"));
Select dropdown = new Select(dropdownlist);
dropdown.selectByVisibleText("100");

我也尝试过:

WebElement dropdownlist = driver.findElement(By.xpath("//select[@name='department']"));
Select dropdown = new Select(dropdownlist);
dropdown.selectByVisibleText("100");

WebElement dropdownlist = driver.findElement(By.cssSelector("select[id='id12']"));

您能帮我吗?

谢谢大家,祝您周末检疫愉快:-P

我正在尝试从下拉列表中选择一个元素,但是在执行过程中遇到此错误:线程“ main” org.openqa.selenium.NoSuchElementException异常:无此类元素:无法...

] >

这里的id可能是动态

,而您提供的名称属性值是错误的。

尝试下面的代码。

WebElement dropdownlist = driver.findElement(By.xpath("//select[@name='department:department']"));
Select dropdown = new Select(dropdownlist);
dropdown.selectByVisibleText("100");
 

要处理下拉列表,您必须使用org.openqa.selenium.support.ui.Select import,它将在WebDriver中将下拉框实例化为“选择”对象。另外,您尝试在其上执行操作的元素可能会花费一些时间,因此发生了异常。添加明确的等待并从头开始检查:::>

WebElement element=driver.findElement(By.id("id12"));
WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.visibilityOfElementLocated(element));
Select dropdown = new Select(element);
dropdown.selectByVisibleText("100");
java selenium select css-selectors dropdown
2个回答
0
投票

这里的id可能是动态


0
投票

要处理下拉列表,您必须使用org.openqa.selenium.support.ui.Select import,它将在WebDriver中将下拉框实例化为“选择”对象。另外,您尝试在其上执行操作的元素可能会花费一些时间,因此发生了异常。添加明确的等待并从头开始检查:::>

WebElement element=driver.findElement(By.id("id12"));
WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.visibilityOfElementLocated(element));
Select dropdown = new Select(element);
dropdown.selectByVisibleText("100");
© www.soinside.com 2019 - 2024. All rights reserved.