2017-05-17 57 views
2

我正在寫selenium測試,我需要切換到沒有id或名稱的iframe,哪個父元素包含變量id(所以沒有幫助,而且src屬性也有變量數據,所以我可以' t直接指向它,就像By.cssSelector("iframe[src='example']")一樣,我需要一個xpath選擇器,它的目標是src,但也使用contains。我試圖學習如何在Chrome的Copy XPath之外構建xpath,但我無法弄清楚這一點。 !這裏是iframe的HTML:xpath:找到具有屬性的元素AND包含?

<iframe scrolling="auto" 
    src="/admin/catalog/manage_variants_in_product.jsp?productId=160502" 
    width="100%" height="100%" frameborder="no" 
    style="position:absolute; top:0px; left:0px;"> 
</iframe> 

回答

2

「包含」 CSS選擇器可以幫助在這裏:

iframe[src*=manage_variants_in_product] 

僅供參考,也有^=$=,分別表示「開始於」和「結束於」。

+0

是的,就是這樣!完善!我環顧四周,發現cssSelectors中沒有'contains',但我從未想過要考慮通配符。非常感謝! – kroe761

+1

該參考文獻有很多很好的信息。 https://www.w3.org/TR/selectors/#selectors – JeffC

0

更好的方法,我建議學習建築XPath或csspath是Firepath附加的Firefox

首先在Firefox瀏覽安裝Firebug的,然後再安裝Firepath。

在那裏你會得到有效的方式來獲取xpath或自己評估xpath構建

+0

Firebug和其他工具不會創建高效的XPath。這可能很容易,但最終的結果並不好。 – JeffC

+0

我上次使用它的時間已經過去了幾年,但它與開發工具中Chrome內置的「Copy XPath」看起來非常相似。如果你需要更復雜的東西,那麼這對於快速抓取來說確實不錯。 – kroe761

+0

@ kroe761,你創建的xpath又如何檢查天氣是否正確?我正在使用Firepath來評估xpath。你如何驗證相同?如果您正在使用其他工具,請告訴我。 – NarendraR

相關問題