我正在尝试获取标题中包含“Collector”一词的图像并单击它。 这是图像及其链接的 html 代码:
<a href="javascript:*command*" title="Level III: KPI Collector RYG of D D/Testing - SYS">
<img src="*unusable link because it's only valid for the specific page*" title="Level III: KPI Collector RYG of D D/Testing - SYS">
<a>
和 <img>
标签嵌套在表格单元格和一些 div 中。我没有写 html 代码,所以如果它丑陋,请不要对我大喊大叫:p
这是我尝试执行此操作的 Java 代码:
WebElement trafficLight = driver.findElement(By.xpath("//img[contains(@title,'Collector')]"));
trafficLight.click();
我得到的错误是:
Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//img[contains(@title,'Collector')]"}
我很确定 xpath 没问题,所以我认为这不是问题所在。
最佳答案
由于 img
WebElement 位于一个框架内,因此在对该 WebElement 执行任何操作之前,您需要将焦点切换到该框架。您可以使用 WebDriver 的 switchTo()
来做到这一点像这样的方法:
driver.switchTo().frame(frameLocator);
框架定位器可以是其(从零开始)索引、名称或 id 属性,也可以是先前定位的 WebElement。
将焦点切换到所需的框架后,您应该能够使用与初始帖子中相同的代码与 WebElement 进行交互。
关于java - 通过 title 属性获取页面元素 - Selenium 和 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269227/