gpt4 book ai didi

java - Selenium:如何删除选定的属性

转载 作者:行者123 更新时间:2023-12-01 09:39:13 24 4
gpt4 key购买 nike

我有这个WebElement:

<select id="month">
<option value="empty">Select</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option selected="" value="7">Jul</option>
<option value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>

我想从 Jul 中删除所选的属性,并将该属性放在不同的Month下。这就是我尝试删除 Attribute 的内容:

(JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('selected', '')", myElement)

最佳答案

一般来说,如果您想删除属性,请使用 JavaScript removeAttribute 方法,而不是尝试使用 setAttribute。但在本例中,您正在使用 select 并希望选择不同的元素。只需使用 selenium 中内置的 Select 类,如下所示:

Select select = new Select(myElement);
select.selectByVisibleText("Aug");

我创建了一个包含以下内容的 HTML 文件,然后对其进行了测试。

<html>
<body>
<select id="month">
<option value="empty">Select</option>
<option value="1">Jan</option>
<option value="2">Feb</option>
<option value="3">Mar</option>
<option value="4">Apr</option>
<option value="5">May</option>
<option value="6">Jun</option>
<option selected="" value="7">Jul</option>
<option value="8">Aug</option>
<option value="9">Sep</option>
<option value="10">Oct</option>
<option value="11">Nov</option>
<option value="12">Dec</option>
</select>
</body>
</html>

然后运行以下代码:

@Test
public void testFoo() throws Exception {
WebDriver driver = new FirefoxDriver();
driver.manage()
.window()
.maximize();
driver.get("file:///blah/blah/blah/index.html");
Select select = new Select(driver.findElement(By.id("month")));
select.selectByVisibleText("Dec");
Thread.sleep(10_000);
}

页面成功结束并选择了“Dec”。

关于java - Selenium:如何删除选定的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38593529/

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