2017-06-06 87 views
-2

Actions action = new Actions(driver); IWebElement we = driver.FindElement(By.XPath(".//*[@class='ms-crm-CommandBar-Button ms-crm-Menu-Label']"));
action.MoveToElement(driver.FindElement(By.XPath(".//*[@class='ms-crm-CommandBar-Button ms-crm-Menu-Label-Hovered']"))).Click().Build().Perform();
爲什麼我不能在這段代碼中點擊這個元素?

期望元素如下:

< 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" style="vertical-align: top;" src="/_imgs/imagestrips/transparent_spacer.gif"> <span tabindex = "-1" class="ms-crm-CommandBar-Menu" [enter image description here][1]style="max-width: 150px;" command="lead|NoRelationship|HomePageGrid|Mscrm.NewRecordFromGrid"> New </span> <div class="ms-crm-div-NotVisible"> Create a new Lead record. </div>
</a> </span>

注意,此類"ms-crm-CommandBar-Button ms-crm-Menu-Label"原來是"ms-crm-CommandBar-Button ms-crm-Menu-Label-Hovered"當鼠標懸停。

非常感謝。

+0

錯誤的複製和粘貼。其實,沒有「。」盈方// –

+0
+0

你好 - 歡迎來到SO--請閱讀「如何提問」之前:https://stackoverflow.com/help/how-to-ask – Cadburry

回答

0

當您搜索懸停的元素時,它不存在。 因此,您需要先懸停元素,然後才能找到並單擊懸停元素。 action.MoveToElement(driver.FindElement(By.XPath("//*[@class='ms-crm-CommandBar-Button ms-crm-Menu-Label']"))).Build().Perform().MoveToElement(driver.FindElement(By.XPath("//*[@class='ms-crm-CommandBar-Button ms-crm-Menu-Label-Hovered']"))).Click().Build().Perform();

+0

結果消息:\t 測試方法UnitTestProject1.CRMTest.CRM_Test_in_IE拋出異常: OpenQA.Selenium.NoSuchElementException:無法使用xpath查找元素== // * [@ class ='ms-crm-CommandBar-Button ms-crm-Menu -Label'] –

+0

我嘗試了下面的代碼,並且看到圖標上的高亮顯示(lable + New),但Click完全不能執行。操作action = new Actions(driver); ()。)))。MoveToElement(driver.FindElement(By.XPath(「// img(」//「)) [@ src ='/ _ imgs/imagestrips/transparent_spacer.gif']「)))。Click()。Build()。Perform(); –

+0

此代碼工作..最後。謝謝。操作action = new Actions(driver); ();();();構造()。執行();()。 ();)();();();(); –

0

在懸停的情況下,首先需要moveTo那個元素後,你可以點擊它。

Actions actions = new Actions(driver); 
action.moveToElement(mainMenu).moveToElement(driver.findElement(By.xpath("ur element"))).click().build().perform(); 
+0

Actions action = new Actions(driver); ()。)()。Build()。Perform()()方法返回一個數組, ; ()。)。Click()。Build()。()。Build()。() ().Perform();和 結果消息:測試方法UnitTestProject1.CRMTest.CRM_Test_in_IE拋出異常:OpenQA.Selenium.NoSuchElementException:無法使用xpath查找元素== // * [@ class ='ms-crm-CommandBar-Button ms-crm-Menu-標籤'] –

+0

此代碼工作..最終。謝謝。操作action = new Actions(driver); action.MoveToElement(driver.FindElement(By。XPath(「// * [@ class ='ms-crm-Menu-Label']」)))。Click()。Build()。P erform(); driver.FindElement(By.XPath(「// * [@ class ='ms-crm-CommandBar-B utton ms-crm-Menu-Label-Hovered']」))。Click(); –

相關問題