如何通过Selenium定位此HTML标记?

如何通过Selenium定位此HTML标记?,selenium,selenium-webdriver,xpath,css-selectors,webdriver,Selenium,Selenium Webdriver,Xpath,Css Selectors,Webdriver,HTML: HTML图像: 这里没有获取xpath的属性,我尝试使用链接文本,但也失败了。要定位元素,可以使用以下任一解决方案: CSS选择器: XPath: XPath(基于文本视图时间表): 要定位元件,可以使用以下任一解决方案: CSS选择器: XPath: XPath(基于文本视图时间表): 您可以使用此xpath,但应找到它 //span[contains(., 'View Timesheet')]//preceding::a[1]/img WebElement

HTML:


HTML图像:


这里没有获取xpath的属性,我尝试使用链接文本,但也失败了。

要定位元素,可以使用以下任一解决方案:

  • CSS选择器:

  • XPath:

  • XPath(基于文本视图时间表):


要定位元件,可以使用以下任一解决方案:

  • CSS选择器:

  • XPath:

  • XPath(基于文本视图时间表):


您可以使用此xpath,但应找到它

//span[contains(., 'View Timesheet')]//preceding::a[1]/img
WebElement temp=driver.findElement(By.xpath(“//img[contains(@src,”)]);

您可以使用此xpath,但应找到它

//span[contains(., 'View Timesheet')]//preceding::a[1]/img
WebElement temp=driver.findElement(By.xpath(“//img[contains(@src,”)]);


我认为找到它最直接的方法是使用CSS选择器

"//div[@class='list']//a/img"
或XPath

img[src='dash_img/dash-ig_07.png']
CSS选择器速度更快,支持更好,语法更简单,但有时您必须使用XPath,例如,当您希望通过包含的文本查找元素时

但是。。。我建议您根据图像标签“查看时间表”找到它


我认为找到它最直接的方法是使用CSS选择器

"//div[@class='list']//a/img"
或XPath

img[src='dash_img/dash-ig_07.png']
CSS选择器速度更快,支持更好,语法更简单,但有时您必须使用XPath,例如,当您希望通过包含的文本查找元素时

但是。。。我建议您根据图像标签“查看时间表”找到它


你是怎么尝试的?分享你的代码你是怎么尝试的?共享您的代码CSS选择器也没有诸如
前面的
父项等轴:)@Andersson我说过CSS选择器有一个更简单的语法…:)CSS选择器也没有诸如
前面的
父项
等轴:)@Andersson我说过CSS选择器有一个更简单的语法…:)@Ponsukumarlingam我创建了xpath,而cssSelector还没有使用过任何类似的工具。谢谢,从你的xpath我可以理解你是如何得到它的。Thanks@Ponsukumarlingam我动态创建了xpath和cssSelector,但没有使用任何类似的工具。谢谢,从您的xpath中,我可以理解您是如何派生出它的。谢谢
img[src='dash_img/dash-ig_07.png']
//img[@src='dash_img/dash-ig_07.png']
//span[.='View Timesheet ']/preceding::img[1]