Java 如何选择Selenium中没有名称或ID的下拉列表
我无法选择没有相关属性的下拉列表。在HTML代码下面,可以看到有一个select标记,但没有id或名称。如何在Selenium中选择该标记Java 如何选择Selenium中没有名称或ID的下拉列表,java,selenium,Java,Selenium,我无法选择没有相关属性的下拉列表。在HTML代码下面,可以看到有一个select标记,但没有id或名称。如何在Selenium中选择该标记 <!DOCTYPE html> <html> <body> <select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option val
<!DOCTYPE html>
<html>
<body>
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
</body>
</html>
首先,单击元素展开下拉列表:
s.单击()
接下来,请尝试以下方法之一:
s.selectByValue(“萨博”)
s.selectByVisibleText(“萨博”)
s.selectByIndex(1)
iFrame
中,因此首先您需要在页面中找到正确的iFrame
,即使用名称iframesult
,然后切换到它
然后,您可以找到标记名本身的同一下拉列表:
使用下面的代码,并让我知道如果有任何问题
driver.get("https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select");
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.switchTo().frame("iframeResult");
WebElement element = driver.findElement(By.tagName("select"));
Select select = new Select(element);
select.selectByIndex(1);
您的代码有一半是正确的,首先您必须切换到帧,然后尝试从下拉列表中选择值。正确的代码应如下所示:
public class X
{
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select");
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.switchTo().frame("iframeResult");
WebElement dropdownBrands = driver.findElement(By.xpath("/html/body/select"));
Select s = new Select(dropdownBrands);
s.selectByVisibleText("Saab");
}
}
您需要先切换到
iframe
,然后再切换到frame才能找到元素。首先到frame,然后转到select,“Saab”中的“S”应该是大写字母,谢谢大家的回答。如果我的问题有用的话,请投票表决。
public class X
{
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select");
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.switchTo().frame("iframeResult");
WebElement dropdownBrands = driver.findElement(By.xpath("/html/body/select"));
Select s = new Select(dropdownBrands);
s.selectByVisibleText("Saab");
}
}