2017-10-23 12 views
0

私はこれら6つのセレクタを取得しようとしています。私は8を得ることができるようです。さらに、それは続けて、それが動的である部分またはワイルドカード相当のxpathセレクタを取得できません

//div[@class='sm-CouponLink']//div[@class='sm-CouponLink_Label'] 

を変更ページが

//div[@class='sm-Coupon']//div[@class='sm-CouponLink'] 

そして、それの他の変形に変化し続けます。

理想的にはXPathはこれをサポートしていないと私はそれにかなり依存していて、この場合にはCSSを使用したいわけではないことを使用して、私は、ワイルドカードを使用してみましたが、私はかなり確信している//div[@class*='sm-Coup'] のようなもの。 私も試してみました:

//div[starts-with(@class, ''sm-Coupo')] 

を私はここに、このページで午前:

https://www.bet365.com.au/#/AS/B1/

enter image description here

+0

そのサイトを盗み、データを持つ多くのサイトをToSに盗みます。 – JeffC

答えて

1

XPathを試してみてください。

//div[starts-with(@class, 'sm-CouponLink_Label')] 
//div[contains(@class, 'sm-CouponLink_Label')] 

//div[@class='sm-CouponLink']/div[starts-with(@class, 'sm-CouponLink_Label')] 

またはXPathを使用すると、ラッパーが必要な場合div:

//div[@class='sm-CouponLink'][div[starts-with(@class, 'sm-CouponLink_Label')]] 

またはCSS:

div.sm-CouponLink>div[class^='sm-CouponLink_Label'] 

PS:あなたは//div[starts-with(@class, ''sm-Coupo')]をXPathはそれが余分'引用符を持っていることを除いて、ほとんどが正しいです。有効なものは次のとおりです。 //div[starts-with(@class, 'sm-Coupo')]

+0

ありがとうございます。 xpathが機能し、Webページが変更されたと思います(非常に動的なページ)。 .sm-CouponLink_Label:nth-​​child(1)のような、xpathのn番目の子供に相当するものがありますか?このページは非常に動的なので、xpathを小さく維持することを試みています – Tetora

+0

xpathのn番目の要素:https://stackoverflow.com/questions/4007413/xpath-query-to-get-nth-instance-of-an-element –

+0

// div [starts-with(@class、 'sm-Coupo')] [1]のようになります。実際には理想的ではありませんが、私はxpathsをうまく取得するためのチュートリアルを見つける必要があるかもしれません – Tetora

関連する問題