如何使用只有SRC的Selenium单击图像

atk*_*OBO 7 html java selenium selenium-webdriver

<td colspan="2" align="center">
        <img src="web/L001/images/IMAGENAME.jpg" width="213" height="46" border="0" onclick="javascript: MessageDisplay()" ></td>
Run Code Online (Sandbox Code Playgroud)

这是我试图点击的元素.我试过的代码:

WebElement temp = driver.findElement(By.xpath("web/L001/images/Phishing_12.jpg"));
temp.click();
Run Code Online (Sandbox Code Playgroud)

我甚至尝试了完整的地址,但任何想法都会受到赞赏.

我使用它来登录各种网站,但是这个特定的网站会抛出一个网页,之后我必须先点击该元素才能继续.-谢谢

Ame*_*mey 12

这个xpath应该找到它

WebElement temp = driver.findElement(By.xpath("//img[@src='web/L001/images/IMAGENAME.jpg']"));
Run Code Online (Sandbox Code Playgroud)

或使用包含这样的

WebElement temp = driver.findElement(By.xpath("//img[contains(@src,'web/L001/images/IMAGENAME.jpg')]"));
Run Code Online (Sandbox Code Playgroud)

但我认为问题在于你不是在wait追求元素.


Jac*_*ekM 7

通常,css选择器比xpath更受青睐.这就是我建议的原因:

WebElement temp = driver.findElement(By.cssSelector("img[src='web/L001/images/IMAGENAME.jpg']"));
Run Code Online (Sandbox Code Playgroud)

  • 您也可以使用外卡,以便`By.cssSelector("[src ='web/L001/images/IMAGENAME.jpg']")`可以表示为`By.cssSelector("a [src*= 'MAGENAME.jpg']")` (3认同)