使用Selenium选择元标记

时间:2017-12-04 09:32:21

标签: c# html selenium

我想从元标记中提取数据,但标记如下

<meta property="og:description" content="blah"/>

因为没有id / class / etc.我无法使用

driver.FindElement(By.[id/class/etc.]);

此元标记具有独特的属性和内容,因此我想知道是否有更好的方法来定位和提取内容,而不是选择所有&#34; meta&#34;标签和迭代它们。

3 个答案:

答案 0 :(得分:2)

您可以使用xPath获取指定的元标记

driver.FindElement(By.XPath("//meta[@property='og:description']"));

答案 1 :(得分:2)

从meta标签中提取数据时,我建议尽可能多地使用这些属性。在你的情况下:

  • <强> XPath:

    driver.FindElement(By.XPath("//meta[@property='og:description' and @content='blah']"));
    
  • <强> CssSelector:

    driver.FindElement(By.CssSelector("meta[property='og:description'][content='blah']"));
    

答案 2 :(得分:1)

您可以使用此xpaths

driver.FindElement(By.XPath("//meta[contains(@property,'og:description']"));

driver.FindElement(By.XPath("//meta[contains(@property,'og:description') and contains(@content,'blah')]"));