gpt4 book ai didi

java - 如何使用 Selenium Webdriver 和 Java 单击同一行中的旁边/上一个表格单元格 (TD)?

转载 作者:行者123 更新时间:2023-12-01 19:33:02 24 4
gpt4 key购买 nike

我想单击动态 Web 表格中存在的复选框元素,该表格具有 3 个静态列(复选框、说明、链接)和动态行。

Sample Image

我能够获得该复选框描述的确切文本,但无法单击该复选框。

这是我试图实现我的期望但没有成功的脚本。可能是错误的方法。

WebElement dataTable = driver.findElement(By.id("table_id"));
List<WebElement> TDs = dataTable.findElements(By.tagName("td"));
for(WebElement td : TDs)
{
if (!td.getText().trim().equals("text that i want to click on its checkbox"))
continue;

WebElement particularTd = td.findElement(By.xpath("//*[@type='checkbox']//preceding::input"));
particularTd.click();
}

您能告诉我单击复选框的正确方法吗?

谢谢,
卡鲁纳加拉·潘迪 G

最佳答案

我认为 td 仅包含数据。您可以尝试导航回包含表数据(td)的直接父表行(tr)。然后在那里搜索输入“复选框”。

<table>
<tr>
<td>
<center><input type='checkbox'/></center>
</td>
<td>
<span>Cell Desc</span>
</td>
<td>
<hyperlink>
</td>
</tr>
</table>

要单击该复选框,您可以使用 xpath:

//*[@text='Cell Desc']/ancestor::tr//input

要使 xpath 动态,您可以获取值并使用该值

 String value = "Cell Desc";
String xpath = "//*[@text='" + value + "']/ancestor::tr//input";

关于java - 如何使用 Selenium Webdriver 和 Java 单击同一行中的旁边/上一个表格单元格 (TD)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58987931/

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