我想在Sitecore 8.1中使用Chrome和Selenium以及c#運行一些自動化測試。我的代碼不想在Sitecore頁面中找到任何元素,特別是體驗編輯器。 我遇到「無法定位元素」警告。無法定位Sitecore 8.1中的元素(硒和C#)
例如:我想要的一個項目.Click()是用於顯示工具欄菜單的工具欄功能區按鈕。 這裏的元件:
<a data-sc-id="QuickRibbon" data-sc-click="trigger:button:toggleshow" data-sc-command="" data-sc-сontrolstaterequest="" data-sc-controlstateresult="" data-sc-postponedcall="" data-sc-ispressed="false" class="sc-quickbar-item sc-quickbar-button sc_QuickbarButton_53 data-sc-registered" title="Toggle the ribbon." data-sc-pagecodescriptfilename="" data-bind="ispressed: isPressed, visible: isVisible, click: click, command: command, enabled: isEnabled" data-sc-require="/-/speak/v1/ribbon/QuickbarButton.js" href="#" style="float:right"><img src="/sitecore/shell/client/Speak/Assets/img/Speak/Common/16x16/white/navigate_down.png" alt="Toggle the ribbon."></a>
下面是其的XPath:
/HTML /體/ DIV/DIV/DIV [1]/NAV [1]/[3]
我已經延長了等待時間以使其可見,因爲加載這些頁面可能需要幾秒鐘的時間。但是這不起作用。
我曾嘗試:
driver.FindElement(By.XPath("/html/body/div/div/div[1]/nav[1]/a[3]/img")).Click();
這給我的「無法找到」錯誤
driver.findElement(By.className("class="sc-quickbar-item sc-quickbar-button sc_QuickbarButton_53 data-sc-registered"")).Click();
這給了我一個錯誤關於無法使用複合類名。
我已經嘗試了一大堆其他選項/組合試圖拿起替代文字等,但我不能讓它拿起元素。
任何想法?讓我知道你是否需要更多信息。
感謝
嗨,謝謝,試過了,它仍然給我「複合類名稱不允許」。 當我上次查看這個「複合」錯誤時,它建議取出空格,並用句號替換它們。但那並不奏效。另一個提到使用逗號然後完全停止,但這兩個選項都返回「無法定位元素」。 – geneticmaterial
@geneticmaterial,這是因爲'.className'方法不支持複合類名稱。請參閱http://stackoverflow.com/questions/20361643/ –
@Software_Engineer - 仍無法找到。 – geneticmaterial