無法在運行時間與 Web 元素互動
本文提供解決 Web 自動化動作無法在 Microsoft Power Automate 運行時間期間與 Web 元素互動的問題。
適用於: Power Automate
原始 KB 編號: 4599079
徵兆
Web 自動化動作(例如,「按兩下連結」、「填入文字欄位」或「取得元素的詳細數據」)會在Microsoft Power Automate 運行時間期間失敗。
驗證問題
在桌面流程的初始開發期間,您可以擷取 Web 元素並與其互動。
原因
有些網頁會動態變更其基礎 HTML 結構。 因此,最初用來尋找專案的 CSS 選取器已不再適用。
解決方法
若要解決此問題,您可以手動建立新的健全 CSS 選取器。 即使 HTML 結構變更,它還是能夠找出感興趣的元素。
若要達到此目的,請在失敗后再次擷取 Web 元素,並比較新的 CSS 選取器與舊的 CSS 選取器。
您可以透過 [選取器產生器 ] 視窗來檢閱和編輯 CSS 選取器:
請注意兩個選取器之間的差異 – 可能有一或多個不同元素或屬性。
編輯選取器,只包含不容易變更的靜態元件。 可以遵循下列其中一些方法:
- 拿掉任何動態值,例如數位,並據以修改相關運算符(“Starts with”、“End with”、“Contains” 等等。
- 如有必要,請從選取器路徑中移除整個專案。
- 使用 「Contains」 選取器,找出使用其網頁上可見之文字的專案。
範例:
- 選擇器包含具有動態類別的專案,例如
div[class="some_class123"]
。 這可以修改為div[class^="some_class"]
(“Starts with” 運算符)。 - 選取器包含具有許多動態屬性的專案,例如
div[class="some_class123"][id="some_id123"] > a[id="some_id"]
。 這可以修改為a[id="some_id"]
(完全省略第一個部分)。 - 感興趣的元素有一些靜態文字 - 選取器可以修改為只包含該文字。 例如,
div[class="some_class123"][id="some_id123"] > a[id="some_id"]
可以修改為a:contains("the_text_we_see_on_the_webpage")
。