全球速賣通文本字元串是Orders (42)和Orders (356)選出大於100的xpath

全球速賣通文本字元串是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完美收官,海贏科技戰績累累

TAG:八爪魚採集器 | 全球速賣通 |