全球速賣通文本字元串是Orders (42)和Orders (356)選出大於100的xpath
以搜索food為例
https://www.aliexpress.com/wholesale?catId=0&;SearchText=food
審查元素是:
<em title="Total Orders"> Orders (42)</em>
<em class="" title="Total Orders" data-spm-anchor-id="2114.search0104.3.i0.45493e043sPpLc"> Orders (356)</em>
以往我們接觸文本純數值,我們直接用[number(text())>100]就可以了,
不是純數值,我們還不能直接用[number(text())>100],
我們需要把文字去除,把數字單獨拿出來。
先介紹兩個函數:
fn:substring-before(string1,string2)
返回 string2 在 string1 中出現之前的子字元串。
例子:substring-before(12/10,/)
結果:12
fn:substring-after(string1,string2)
返回 string2 在 string1 中出現之後的子字元串。
例子:substring-after(12/10,/)
結果:10
通過了解這個函數,我們可以取Orders (42)中,
左括弧(後面,
和右括弧)前面,
也就是我們想要括弧裡面的()數值取出來
取右括弧)前面的xpath是substring-before(string(//em[@title=Total Orders]),))
左括弧(後面的xpath是substring-after(string1,()
代入後是:
substring-after(substring-before(string(//em[@title=Total Orders]),)),()
數值取出,我們就可以用number判斷了,
number(substring-after(substring-before(string(//em[@title=Total Orders]),)),())>100
完整的xpath判斷還需要改變一下,變成:
//em[@title=Total Orders][number(substring-after(substring-before(text(),)),())>100]
從圖中可看出,小於100的未被選中。
是不是看懵逼了,沒關係,附上懶人筆記,
[number(substring-before(substring-after(text(),開始),結束))>100],
Orders (42)要截取數字42比較大小,那麼開始是(,
結束是),替換進去即可。
加上位置//em[@title=Total Orders]
完整xpath是//em[@title=Total Orders][number(substring-before(substring-after(text(),(),)))>100]
推薦閱讀:
※速賣通暫停招商自主申請入口,面對億級消費市場更需優質賣家
※常見的Facebook註冊賬號問題及解答
※速賣通全新升級店鋪商品展示功能,根據「Ship to」展示在架銷售商品
※速賣通新賬號該如何引流?
※速賣通328完美收官,海贏科技戰績累累