如何在javascript中使用selenium在表单中选择select



我正在自动化一个流程的一些测试,该流程包含一个我可以获得所有步骤的表单,但当我选择时,我无法让他在javascript中点击并选择我想要的选项。

我的代码;

const {Builder, By, Key} = require("selenium-webdriver");
async function example() {
// launch the browser
let driver = await new Builder().forBrowser("chrome").build();
// navigate to our application
await driver.get("https://dev.septemcompliance.com/designer/design.aspx? 
c=0asrnQyA%2bharoubJy0g6zqq%2fVssaPaDM6m0yv7hD0hTwY8bXo%2bNQLRsUzDolSOAT")
// add a todo
await driver.findElement(By.id("TxtLogin")).sendKeys("joao")
await driver.findElement(By.id("TxtPassword")).sendKeys("010445jv")
await driver.findElement(By.id("BtnLogin")).click()
await driver.findElement(By.id("HlOpenSimulation")).click()
await driver.findElement(By.id("HlStartSimulation")).click()
await driver.findElement(By.name("inp12082")).click();
await driver.findElement(By.xpath("//* 
[@id=td1secretaria_municipal]/select/option[1]")).click();
}
example()

在检查我想要自动化的选择代码时,这是网站上的代码。

<select label="Secretaria municipal" name="inp12082" xname="inpsecretaria_municipal" 
xtype="SELECT" required="S" style="width:350px" 
onchange="controlValueChange(this);salvarSecretaria($(this));atualizarSecretariasExecutivas();" 
data-c="DSe28HiL3BwUi7ITIAiFKoPYC2jIQnf-1ElLrN9eVsFFzP- 
O91XnU@emdmWvie5Aqx3Arj6ROWUKqAGZrCQsDjwO5geI9nuTiU9JlTlMz2hbH5D3M1D-E5loLjoTSRcU">
<option value="">Selecione</option><option value="1">SECRETARIA 1</option>
</select>

如果我正确理解了这个问题,你只需要一个简单的css选择器,然后使用click方法。

<select>
<option value="1" selected="selected">one</option>
<option value="2">two</option>
</select>
const element = await driver.findElement(By.css('select option[value="2"]'));
await element.click();

最新更新