2014-06-11 20 views
0

有這個網站:的XPath匹配不適合meta標籤工作

<!DOCTYPE html> 
<html> 
    <head> 
    <meta content="my id" property="fb:app_id" /> 
    <meta content="app name" property="og:site_name" /> 
    <meta content="social post" property="og:type" /> 
    <meta content="bsa" property="og:title" /> 
    <meta content="bsa" property="og:description" /> 
    <meta content="http://will-ferrell.lvh.me:3000/" property="og:url" /> 
    </head> 
</html> 

試圖做到這一點:

expect(page).to have_selector :xpath, '//head/meta[@property="fb:app_id"]' 
expect(page).to have_selector :xpath, '//head/meta[@property="og:site_name"]' 
expect(page).to have_selector :xpath, '//head/meta[@property="og:type"]' 
expect(page).to have_selector :xpath, '//head/meta[@property="og:title"]' 
expect(page).to have_selector :xpath, '//head/meta[@property="og:description"]' 
expect(page).to have_selector :xpath, '//head/meta[@property="og:url"]' 

而且這是行不通的。說它找不到選擇器。 任何想法爲什麼?

+0

我不知道我很明白你正在使用,以解析HTML的庫。 – olyv

回答

1

對於不可見元素需要使用option - 可見:假

例子:

expect(page).to have_selector :xpath, '//head/meta[@property="og:url"]', visible: false