gpt4 book ai didi

java - 我想找到图像的xpath

转载 作者:太空宇宙 更新时间:2023-11-04 06:48:51 25 4
gpt4 key购买 nike

这是html代码

<div class="navBg">
<table id="topnav" class="navTable" cellspacing="0" cellpadding="0" style="-moz-user- select: none; cursor: default;">
<tbody>
<tr>
<td class="logoCell" valign="top">
<td class="separator">
<td class="navItem relative" style="z-index: 99">
<td class="separator">
<td class="navItem relative">
<a class="content tasks" style="border-width: 0" href="/tasks/otasklist.do">
<div class="label" style="z-index:155; ">Tasks</div>
<img class="sizer" width="84" height="93" src="/img/default/pixel.gif? hash=1106906246"/>
<span class="bottomBorder">

我正在尝试查找图像的 xpath-->

src="/img/default/pixel.gif?hash=1106906246"

我尝试了不同的组合e:g

//table/tbody/tr/td[5][@class='navItem relative']/a/div[2]/img

我也写了以下代码。

 WebDriverWait wait= new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Tasks")));

driver.findElement(By.xpath("//table/tbody/tr/td[5][@class='navItem relative']/a/div[2]/img")).click();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

它通过 firepath 识别网页上的元素,但运行脚本后,它没有单击该元素,并且控制台显示“无此类元素异常”。

请仅使用 java 语言回答。有人可以帮我吗????

谢谢

最佳答案

我发现您正在使用 Selenium。最安全的选择是找到最近的具有 @id 属性的父级,然后从那里开始向下工作。试试这个://table[@id='topnav']//img。正如 alecxe 指出的,根据该表中图像的独特程度,您可能需要进一步缩小 XPath 的范围。类似于 //table[@id='topnav']//tr[1]//img,甚至 //table[@id='topnav']//td[contains(@class, 'navItem')]//img

您发布的 XPath 将不起作用,因为与您发布的示例 HTML 相比,它存在一些问题:

  1. tbody 可能不会出现在所有浏览器中
  2. 元素 td[5] 的限定符 [@class='navItemrelative'] 是多余的(尽管这不完全是一个问题)
  3. div[2] 不存在,您的 HTML 示例仅显示一个 div

关于java - 我想找到图像的xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23612466/

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