1
的XPath類和文字我有像這樣的元素:選擇span元素
<span class="myTest">Estimates</span>
如何使用XPath來選擇呢?這是我有:
x("//*[contains(@class,'myTest')][normalize-space(text())='Estimates']")
的XPath類和文字我有像這樣的元素:選擇span元素
<span class="myTest">Estimates</span>
如何使用XPath來選擇呢?這是我有:
x("//*[contains(@class,'myTest')][normalize-space(text())='Estimates']")
你的選擇其實是正確的,這是一個使用casperjs掌握分支一個簡短的測試:
var x = require('casper').selectXPath;
casper.test.begin('your selector is okay', 1, function(test) {
casper.start().setContent('<span class="myTest">Estimates</span>');
test.assertExists(x("//*[contains(@class,'myTest')][normalize-space()='Estimates']"));
test.done();
});
演示:
$ casperjs test test-xpath.js
Test file: test-xpath.js
# your selector is okay
PASS Found an element matching: xpath selector: //*[contains(@class,'myTest')][normalize-space()='Estimates']
PASS 1 tests executed in 0.118s, 1 passed, 0 failed.
,這是不工作?你有錯誤信息嗎?你得到的結果是不是你所期望的?你的XPath看起來合法乍一看(儘管我會用'[normalize-space()='Estimates']'替換第二個謂詞,因爲它更短,更習慣。怎麼了? –
嗯,我的casperjs腳本說它找不到那個元素。我也想這樣做:// div [@ id ='ctl00_cphLeftPanel_mi_estimates_stderrors'and @ class ='level_2_active'] – cdub
是的,必須對CasperJS有些事情沒有正確地突出顯示並找到我的元素。 – cdub