2013-11-26 30 views
0

所以我找到了這個有趣的東西。 「idd」(不是不是拼寫錯誤)屬性。它看起來像這樣在HTML:html中的「idd」屬性?編輯:我可以使用Javascript獲取基於自定義屬性的元素嗎?

<div idd="asdf1">some content</div> 
<div idd="asdf2">some content</div> 
<div idd="asdf3">some content</div> 
<div idd="asdf4">some content</div> 

問題是,我不知道它是什麼。在我正在使用的網站上,它看起來像是id屬性。

我的目標:我想使用「idd」屬性來獲取硒中的第一個div。我能看到的最好的方法是在Selenium中運行Javascript來獲取div,因爲硒沒有辦法獲得具有自定義屬性的元素。我有一段時間沒有使用Javascript,那麼我該如何去做這件事?

+4

這可能只是馬虎編碼 –

+2

我會同意約翰,這是馬虎糟糕的編碼。我知道html5允許自定義屬性,但通常它前面是'data',例如'data-idd'。 – Phil

+0

idd標籤不存在。人們通常會創建新的標籤,但在這種情況下,肯定是一個錯誤。也許有一個bucle用idd標籤創建div。 –

回答

1

幾個jQuery和其他插件現在使用自定義屬性來呈現其功能;它不限於HTML5。

Xpath和css選擇器也使用自定義屬性,所以下面的xpath會根據它的idd值爲您獲得第一個div

//div[@idd='asdf1'] 
+0

如果我理解正確,我應該可以使用Selenium的By.xPath(「xPath」)或By.cssSelector(「cssSelector」)函數來獲取它。不幸的是,Xpath根本不能很好地工作。好消息是:CSS選擇器'idd〜= [asdf1]'會發現這個元素很好。 – Msmith

+0

是的,你會使用'By.xPath(「// div [@ idd ='asdf1']」)''。我已經成功地將xpath用於自定義屬性,奇怪的是你並不是這種情況。你確切的代碼是什麼? – Faiz

2

複製粘貼(或重複)的錯字?我從來沒聽說過。

+0

我想知道同樣的事情,但是當我看到它發生在多個頁面上,然後完全在同一個網站的不同版本上時,似乎該屬性被用於某些事情。 – Msmith

相關問題