2015-04-23 137 views
0

你能幫我弄清楚如何在Java中使用selenium webdriver定位「新」嗎?如何找到selenium webdriver中的下列對象[ul,li]?

代碼段:

<ul class="ms-crm-CommandBar-Menu"> 
<li tabindex="-1" class="ms-crm-CommandBarItem ms-crm-CommandBar-Menu ms-crm-CommandBar-Button" title="New Create a new Account record." id="account|NoRelationship|HomePageGrid|Mscrm.HomepageGrid.account.NewRecord" command="account|NoRelationship|HomePageGrid|Mscrm.NewRecordFromGrid" style="white-space: pre-line; display: inline-block;"><span tabindex="-1" class="ms-crm-CommandBar-Button ms-crm-Menu-Label" style="max-width:200px"><a tabindex="0" class="ms-crm-Menu-Label" onclick="return false"><img tabindex="-1" class="ms-crm-ImageStrip-New_16 ms-crm-commandbar-image16by16" src="/_imgs/imagestrips/transparent_spacer.gif" style="vertical-align:top" alt="New"> <span tabindex="-1" class="ms-crm-CommandBar-Menu" style="max-width:150px" command="account|NoRelationship|HomePageGrid|Mscrm.NewRecordFromGrid"> New </span> </a> </span> </li> 

回答

0

免責聲明:我使用C#,但不應該太大的差別。

最簡單的方法是使用CssSelector。這是在這種情況下,有點冗長,但是,這並不重要:

driver.FindElement(By.CssSelector("span[command=\"account|NoRelationship|HomePageGrid|Mscrm.NewRecordFromGrid\"]")); 

這將找到其中包含什麼,但你想要的文字span元素。假設該命令在頁面上是唯一的,否則你需要改進。

或者您可以使用XPath來實現相同的:

driver.FindElement(By.XPath("//span[@command='account|NoRelationship|HomePageGrid|Mscrm.NewRecordFromGrid']"); 
+0

我用點擊操作提前給你的命令,但它不是點擊。所以驅動程序能夠找到元素,這是成功的!但是那麼我們可能需要玩某些ul和/或li?請指教。 – rjt

+0

你能發佈一個鏈接到完整的HTML頁面,並顯示你的代碼? – FDM

+0

這是一個隱藏的元素。我如何繼續? – rjt

相關問題