我無法單擊展開按鈕,該按鈕打開列出分類標題複選框的頁面部分。
似乎webdriver認爲它正在執行單擊「展開」按鈕的操作,但該部分保持摺疊狀態。
下面是HTML的一部分如何使用Selenium Webdriver單擊展開按鈕以打開部分C#
代碼
metadata-editor name="resourceModelTaxonomyTypeIds" label-text="Type" matadata-fieldname="Type" resource-id="id" selected-ids="resourceModel.TaxonomyTypeIds" required class="ng-isolate-scope"
<div class="form-group" ng-class="{'has-error': (required && form.$submitted && !isValid)}"
::before
<div class="col-md-9">
<!-- ngRepeat: node in loadSelectedNodes() -->
<br ng-show="loadSelectedNodes().length > 0" class="ng-hide"
<button type="button" class="btn btn-sm btn-info btn-expand-taxonomy ng-pristine ng-binding ng-invalid ng-invalid-valid ng-touched" name="resourceModelTaxonomyTypeIds" ng-model="selectedIds" ng-click="toggleView(isCollapsed)"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> Expand</button>
下面是我的一些工作方式已行不通的:
嘗試1:我想簡單的。點擊()動作
driver.FindElement(By.Name("resourceModelTaxonomyTypeIds")).Click();
結果:Webdrive r通過該步驟,但屏幕上沒有發生任何事情,「展開」按鈕仍處於摺疊狀態,並且該選項仍處於隱藏狀態。
嘗試2:我試過MoveToElement行動
Actions clickExpand = new Actions(driver);
clickExpand.MoveToElement(driver.FindElement(By.Name("resourceModelTaxonomyTypeIds"))).Click().Perform();
結果:和以前一樣,認爲的webdriver一切都很好,但在現實中展開按鈕仍然沒有擴大的部分。
嘗試3:安裝硒IDE,做了記錄和回放,看看它的代碼它(通過轉換爲C#) 硒IDE記錄它與.Click()
行動正如我在上面嘗試1嘗試。
我有點卡在爲什麼這不適用於這個特定的按鈕。有沒有人遇到過這個問題,或者處理過這些類型的展開按鈕?
注意:手動測試的擴展按鈕通過點擊證明按鈕的工作,只是webdriver似乎並沒有這樣做。
您是否嘗試過使用JavaScript來執行的點擊?使用ExecuteScript命令? –
一旦嘗試第三次嘗試爲'((IJavaScriptExecutor)驅動程序).ExecuteScript(「arguments [0] .click()」,driver.FindElement(By。名稱(「resourceModelTaxonomyTypeIds」)));'讓我知道 –
並確保提供的名稱來定位按鈕是唯一的,並找到正確的按鈕,你想.. :) –