網頁的HTML的某些部分對應的XPath CSS定位器我敢測試看起來像這樣爲硒
<div id="twoWideCallouts">
<div class="callout">
<a target="_blank" href="http://facebook.com">Facebook</a>
</div>
<div class="callout last">
<a target="_blank" href="http://youtube.com">Youtube</a>
</div>
我已經檢查使用硒,當我點擊文本,打開的URL與href中給出的相同,而不是錯誤頁面。
使用XPath我已經寫了下面的命令
//i is iterator
selenium.getAttribute("//div[contains(@class, 'callout')]["+i+"]/a/@href")
然而,這是非常緩慢和一些鏈接無法正常工作。在本網站上閱讀很多答案和評論我來知道CSS loactors更快和更清潔的保持,所以我又寫了作爲
css = div:contains(callout)
首先,我不能夠達到的定位標記。
其次,此頁面可以有任何數量的div,其中id = callout。使用xpathcount我可以得到這個計數,我將迭代這個計數並執行href檢查。如何使用CSS定位器完成類似的事情?
任何幫助,將不勝感激。
編輯
我可以點擊使用定位器css=div.callout a
的鏈接,但是當我試圖讀取使用String str = "css=div.callout a[href]"; selenium.getAttribute(str);
href值。我得到錯誤 - 元素未找到。控制檯說明如下。
19:12:33.968 INFO - Command request: getAttribute[css=div.callout a[href], ] on session
19:12:33.993 INFO - Got result: ERROR: Element css=div.callout a[href not found on session
我試圖讓使用XPath href屬性這樣
"xpath=(//div[contains(@class, 'callout')])["+1+"]/a/@href" and it worked fine.
請告訴我我應該是這個對應的CSS定位。
對XPath的抱怨與對XPath的詢問不一樣...重新貼上標籤。 – 2011-04-15 15:27:32
我不是在抱怨,我只是解釋了我的觀察,也許我可以用更多的經驗以更好的方式發佈問題。我只是想知道以更有效的方式解決問題的方法。 – 9ikhan 2011-04-15 15:51:09