Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath 如何从列表中删除第二个元素?_Xpath_Selenium - Fatal编程技术网

Xpath 如何从列表中删除第二个元素?

Xpath 如何从列表中删除第二个元素?,xpath,selenium,Xpath,Selenium,我有三个元素,每个元素都附加了Delete选项,我怎么能只删除第三个元素呢 示例: 带有删除按钮的元素1 带有删除按钮的元素2 带有删除按钮的元素3 当我运行脚本时,它应该去点击第三个元素的删除按钮&删除记录。请大家帮我继续,我是新来的 我执行了以下操作: 我使用了删除按钮的xpath driver.findElements(By.xpath(“/*[@title='Remove']) 但是如何单击元素。您可以使用链接而不是按钮来执行此操作。每个元素都有一个链接,当你点击删除链接时,你可以在查询

我有三个元素,每个元素都附加了Delete选项,我怎么能只删除第三个元素呢

示例
带有删除按钮的元素1
带有删除按钮的元素2
带有删除按钮的元素3

当我运行脚本时,它应该去点击第三个元素的删除按钮&删除记录。请大家帮我继续,我是新来的

我执行了以下操作: 我使用了删除按钮的xpath

driver.findElements(By.xpath(“/*[@title='Remove'])


但是如何单击元素。

您可以使用链接而不是按钮来执行此操作。每个元素都有一个链接,当你点击删除链接时,你可以在查询字符串中传递元素的id,然后通过检索该id,你可以删除相应的记录。 例如:
“>删除”

您可以使用链接而不是按钮来执行此操作。每个元素都会有一个链接,当您单击“删除链接”时,您可以在查询字符串中传递元素\u id,然后通过检索该id可以删除相应的记录。 例如: “>Delete

findElements()返回匹配元素的列表。如果你想按第三个元素按钮,你可以这样做

List<WebElement> deleteButtons = driver.findElements(By.xpath("//*[@title='Remove']"));
deleteButtons.get(2).click();
List deleteButtons=driver.findelelements(By.xpath(“/*[@title='Remove']);
deleteButtons.get(2).单击();
虽然这可能对你有用,但它不是最好的选择。如果开发人员更改了元素的位置,那么上面的代码可能会单击错误的按钮。而是创建相对于元素3的xpath。这样,您就可以确保无论按钮在页面上的位置如何,它都会始终单击正确的按钮。

findElements()返回匹配元素的列表。如果你想按第三个元素按钮,你可以这样做

List<WebElement> deleteButtons = driver.findElements(By.xpath("//*[@title='Remove']"));
deleteButtons.get(2).click();
List deleteButtons=driver.findelelements(By.xpath(“/*[@title='Remove']);
deleteButtons.get(2).单击();

虽然这可能对你有用,但它不是最好的选择。如果开发人员更改了元素的位置,那么上面的代码可能会单击错误的按钮。而是创建相对于元素3的xpath。这样,您就可以确保无论按钮在页面上的位置如何,它都会始终单击正确的按钮。

您是否希望访问列表的第三个元素?如果是这样,你可以通过

driver.findElements(By.xpath("//*[@title='Remove']")).get(2).click();

您是否希望访问列表的第三个元素?如果是这样,你可以通过

driver.findElements(By.xpath("//*[@title='Remove']")).get(2).click();

你能提供你的html代码吗?你能提供你的html代码吗?我试过,所有的名字几乎相同,需要一个唯一的属性来标识那个删除选项。我试过,所有的名字几乎相同,需要一个唯一的属性来标识那个删除选项。