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 Webdriver - Fatal编程技术网

Xpath 如何选择表中的行并选择其旁边的特定单选按钮

Xpath 如何选择表中的行并选择其旁边的特定单选按钮,xpath,selenium-webdriver,Xpath,Selenium Webdriver,我想在网站的表格中选择一个特定的行,然后选择旁边的按钮。我遇到的问题是,每次选择按钮时,它都会记住最后一个按钮的位置xpath=(//a[@id='DeleteLnkBtn'])[4],但我希望按名称选择行,并选择该行特有的按钮。有多行具有相同的按钮,所有按钮都具有相同的名称(删除) HTML: <td>Auto Missed Session 2</td> <a id="DeleteLnkBtn" >Delete</a> 自动错过会话2删除 我

我想在网站的表格中选择一个特定的行,然后选择旁边的按钮。我遇到的问题是,每次选择按钮时,它都会记住最后一个按钮的位置
xpath=(//a[@id='DeleteLnkBtn'])[4]
,但我希望按名称选择行,并选择该行特有的按钮。有多行具有相同的按钮,所有按钮都具有相同的名称(删除)

HTML

<td>Auto Missed Session 2</td> <a id="DeleteLnkBtn" >Delete</a>
自动错过会话2删除
我的目标是通过“自动错过会话2”表中的文本引用该行,然后单击删除按钮

这是我到目前为止所做的尝试

选项1-
driver.findelelement(By.xpath(“//tr/td[contains(text()='Auto-missession 2',+'DeleteLnkBtn')))))。单击()

选项2-
driver.findElement(By.xpath((//tr/td[contains(text(),'Auto Missed Session 2'+'Delete')))))。单击()

上面的错误说明这不是选项1上的有效Xpath表达式,也没有这样的元素:无法在选项2上找到元素

表数据如下所示 td>自动错过会话2/td>-这是我要选择的表中的行的名称

a id=“DeleteLnkBtn”
这是我想要选择的按钮

按钮的Xpath是
/*[@id=“DeleteLnkBtn”]


谢谢。

请尝试下面的代码并告诉我结果:

driver.findElement(By.xpath("//td[text() = 'Auto Missed Session 2']/following::a[text()='Delete']")).click();

你能分享同样的
HTML
代码吗?自动错过第二节删除谢谢你,安德森,非常感谢。我想我的xpath写得很糟糕,我对这一点还不熟悉。再次感谢againHi Andersson-是否可以添加多个td,以便通过其唯一标识符引用删除按钮,例如自动错过会话2和2017年3月6日10:00:00,这将表示人员、日期和时间?如果这些
td
元素是兄弟元素,则您可以尝试
“//td[text()='Auto Missed Session 2']/以下兄弟姐妹::td[text()=“06/03/2017”]/以下兄弟姐妹::td[text()=“10:00:00”]/以下兄弟姐妹::a[text()=“Delete']”