gpt4 book ai didi

javascript - 如何在不同页面上单击具有多个不同属性的按钮(同名)?

转载 作者:行者123 更新时间:2023-11-29 20:31:08 27 4
gpt4 key购买 nike

我正在尝试创建一个脚本,该脚本将在多个页面上单击相同名称的按钮,但这些按钮具有不同的属性。有些有 id、一些名称、一些值和一些数据作为标识符。这个函数应该有一个属性列表,当我运行脚本时,它应该进入该列表,单击按钮并移动到下一步。我的问题是当其中一个按钮在列表中有 2 个属性时,它会单击两次。这就是我要解决的问题。

我尝试了 try 和 catch 函数,但还有其他几个我不完全了解的函数,因为我是这方面的新手。 Try and catch 函数适用于点击,但不能避免点击两次。

我的 try 和 catch 函数

    public void jeg_trykker_på_knap(String knap) {
switch (knap) {

case "Slet":
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@data-contribution-title='Din indberetning slettes']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception a) {

}
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@id='slet']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception b) {

}
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@value='Slet']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception c) {

}
try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//button[text()='Slet']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception d) {

try {
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
driver.findElement(By.xpath("//*[@name='Slet']")).click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
} catch ( Exception e) {
}
}
break;

最佳答案

您可以使用 XPATH 的 OR 条件。

示例如下:

//*[@value='Slet'] | //*[@name='Slet']

在上面的例子中,| 表示 OR

通过这种方式你不需要写不同的代码和切换

按照我展示的 xpath 示例创建你的 Xpath

来源:

Using an OR condition in Xpath to identify the same element

关于javascript - 如何在不同页面上单击具有多个不同属性的按钮(同名)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58182626/

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