【问题标题】:How to locate this HTML tag through Selenium?如何通过 Selenium 定位这个 HTML 标签?
【发布时间】:2019-01-19 08:00:11
【问题描述】:

HTML:

<img src="dash_img/dash-img_07.png">

HTML 图片:

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

【问题讨论】:

  • 你是怎么尝试的?分享您的代码

标签: selenium selenium-webdriver xpath css-selectors webdriver


【解决方案1】:

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

  • CssSelector

    div.Timesheet li.time-bg > a > img[src='dash_img/dash-img_07.png']
    
  • XPath

    //div[@class='Timesheet']//li[@class='time-bg']/a/img[@src='dash_img/dash-img_07.png']
    
  • XPath(基于文本查看时间表):

    //span[contains(., 'View Timesheet')]//preceding::a[1]/img
    

【讨论】:

  • @Ponsukumarlingam 我创建了 xpathcssSelector 没有使用任何工具。
  • 谢谢,从你的 xpath 我可以理解你是如何得出这个的。谢谢
【解决方案2】:

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

img[src='dash_img/dash-ig_07.png']

或 XPath

//img[@src='dash_img/dash-ig_07.png']

CSS 选择器更快,支持更好,语法更简单,但有时您必须使用 XPath,例如当您想通过包含的文本查找元素时。

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

//span[.='View Timesheet ']/preceding::img[1]

【讨论】:

  • CSS 选择器也没有 precedingparent 等轴... :)
  • @Andersson 我确实说过 CSS 选择器的语法更简单... :)
【解决方案3】:

你可以用这个xpath应该能找到它

WebElement temp = driver.findElement(By.xpath("//img[contains(@src,'<img src="dash_img/dash-img_07.png">')]"));

【讨论】:

    【解决方案4】:

    或者

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 2019-08-24
      相关资源
      最近更新 更多