gpt4 book ai didi

java - 访问下拉列表 - selenium webdriver 和 java

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:25 25 4
gpt4 key购买 nike

我正在尝试编写一些用于自动化测试的测试用例,作为使用 java 在 selenium webdriver 中练习作业的一部分。

java版本是1.6,selenium webdriver版本是2.39,而firefox浏览器版本是29.0.1。

我正在尝试访问以下链接中标题为 CARSIZE 的下拉列表:

http://www.carrentals.com/

我无法操纵它。

我尝试过以下代码...

    driver.get("http:\\www.carrentals.com/");

driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

Select dropdown= new Select(driver.findElement(By.xpath("//*[@name='carType']")));

dropdown.selectByValue("carsize-1");

通过上面的代码,我似乎能够找到该元素(因为没有抛出异常)但不能更改值。当我尝试通过 SELECTBYVALUE 方法更改值时,出现异常,提示元素不可见。有人能帮我吗?

上面的 Html 代码可以在 firebug 中看到,仅供引用,我也尝试使用 ID 和名称而不是 XPath 来处理相关的选择框,但我得到了相同的异常。

最佳答案

试试这个:

Select dropdown= new Select(driver.findElement(By.xpath("//select[@id='cartype']")));
dropdown.selectByVisibleText("Small Cars");

已更新。

试试这个代码。它对我有用。

    String dropdownXpath = "//label[@for='cartype']/following-sibling::div[@role='listbox']";
WebElement textInDropDown = webDriver.findElement(By.xpath(dropdownXpath + "//div[@class='text']"));
textInDropDown.click();
webDriver.findElement(By.xpath(dropdownXpath)).sendKeys("Small Cars");

它在下拉元素中找到文本,然后发送您想要选择的值。

关于java - 访问下拉列表 - selenium webdriver 和 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23730296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com