gpt4 book ai didi

javascript - 如果我不知道 Selenium 中的 ID 是什么,如何单击已生成 ID 的元素

转载 作者:行者123 更新时间:2023-11-28 20:34:43 24 4
gpt4 key购买 nike

假设我有一些 HTML 标记:

    <select id="select_titleOfSelect-1212_01" name="titleOfSelect-1212" 
<option value="ONE"></option>
<option value="TWO"></option>
<option value="THREE"></option>
</select>

可以动态生成多个这些选择元素其中 titleOfSelect 之后的数字始终可以不同。如果在同一页上生成多个选择,“01”也会增加 1。

我已经能够使用这个点击这些:

.click('select[id^="titleOfSelect-"] option[value='ONE']')

如果页面上有多个元素,我如何点击第 2 个、第 3 个等...选择页面上的元素?

我正在使用 Javascript 和 Selenium

最佳答案

如果 ID 是随机生成的,则您不会根据其 ID 搜索元素。您必须使用 XPath 或 CSS 选择器并发挥创意。

这是我点击选项的方式:

// option 1
driver.findElement(By.xpath("//select/option[@value='ONE']")).click();

// option two
driver.findElement(By.xpath("//select/option[@value='TWO']")).click();

// etc..

或者,如果你不想使用value,你可以使用索引:

// click first option
driver.findElement(By.xpath("//select/option[1]")).click();

// click second option
driver.findElement(By.xpath("//select/option[2]")).click();

// click third option
driver.findElement(By.xpath("//select/option[2]")).click();

如果页面上有多个select元素,可以尝试对标题做一个contains查询:

//select[contains(@title, 'titleOfSelect')]/option[1]

关于javascript - 如果我不知道 Selenium 中的 ID 是什么,如何单击已生成 ID 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58756534/

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