簡體   English   中英

無法使用 Selenium/c# 單擊 Dynamics365 下拉菜單 - “ElementNotVisibleException”

[英]Unable to click on Dynamics365 drop down menu using Selenium/c# - “ElementNotVisibleException”

我正在使用 Selenium/C# 自動化 Dynamics365 CRM。 能夠單擊並下拉菜單,但無法找到並單擊“提交”選項(第 2 行代碼)。 出現此異常: OpenQA.Selenium.ElementNotVisibleException: '// [contains(text(),'Submitted')]'*。 感謝任何想法如何處理這個問題。 我還在下面給出了 gui 和 html。 最后一張圖片中突出顯示的是下拉框所在的字段。

使用的功能 在此處輸入圖像描述 在此處輸入圖像描述

在 WEB UI 端自動化/抓取 Dynamics 365 可能很困難,我去過那里。 UI 表單使用了大量的 JS 事件處理,css class 命名來顯示/隱藏值、框等。僅依靠在元素上調用“單擊”事件,我敢肯定,如果不是不可能的話,你會很難達到你的目標。 例如,元素有時同時對鼠標 hover點擊事件敏感? 你能與本地 js 對象交互嗎? 因為有一種更簡單的方法。 Dynamics 365 使用名為 Xrm 的本地 js 表單 API,因此谷歌表示:這是獲取表單上可用屬性列表的示例。 在瀏覽器控制台中運行它。

Xrm.Page.getAttribute()

它將返回屬性名稱列表。 找到與您的下拉字段對應的屬性名稱。 要獲取可用選項值(鍵/值對)的列表,您可以簡單地執行以下操作:

Xrm.Page.getAttribute("industrycode").getOptions()
// industrycode in this example is a standard attribute of account entity
// returns [{ name: <string>, value: <int>  }, {...} ]

找到正確的值並像這樣設置字段:

Xrm.Page.getAttribute("industrycode").setValue([value])

然后保存表格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM