gpt4 book ai didi

java - 使用 WebDriver 无法在表元素中找到要单击的特定 td

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:36 26 4
gpt4 key购买 nike

这就是我想要达到的元素

<table border="0" cellpadding="0" cellspacing="0" width="930"><tbody>
<tr>
<td height="32"><span style="cursor: pointer; text-decoration:underline; font-size:14px;" onClick="commentsDisplay(9427356)"><b>Display / write / close (0) comment(s) for this video.</b></span> </td>
</tr> </tbody></table>

它没有 id,没有名称,什么都没有...并且该网页中有多个表格元素...我怎样才能让它变得不同并让 WebDriver 点击它?我尝试使用 partialLinkText,但它不起作用(有点预期,因为它不是属性标签)

这是我的 java 类

 // Find the text input element by its name

WebElement element = driver.findElement(By.id("q"));

// Enter something to search for

element.sendKeys(searchQ[rnd.nextInt(4)]);

// Now submit the form. WebDriver will find the form for us from the element

element.submit();

//Open random Video

driver.findElement(By.className("miniature")).click();

//Open Comments box

By xpath = By.xpath("//span[contains(@onClick,'commentsDisplay')]/b");
WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(xpath));
myDynamicElement.click();

// Check the title of the page

System.out.println("Page title is: " + driver.getTitle());

driver.quit();

最佳答案

尝试以下xpath

//span[contains(@onClick,'commentsDisplay')]/b

css

span[onClick^='commentsDisplay']>b

如果该元素需要一些时间来加载,则使用显式等待:

By xpath = By.xpath("//span[contains(@onClick,'commentsDisplay')]/b");
WebElement myDynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(xpath));
myDynamicElement.click();

关于java - 使用 WebDriver 无法在表元素中找到要单击的特定 td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29440843/

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