Salesforce Lightning 不使用真正的(本机)Shadow DOM,无法在控制台中看到#shadow-root(打开)

问题描述 投票:0回答:1

某些元素位于shadow dom下,无法通过开发控制台查看,正在寻找有关如何识别这些元素以进行自动化的建议。关于如何识别这些元素以进行selenium自动化有什么建议吗?

salesforce shadow-dom lwc
1个回答
0
投票
  1. CSS Shadow Parts:使用 CSS 选择器定位 Shadow DOM 中定义的部分(如果可用)。
  2. JavaScript 执行:在 Selenium 中执行 JavaScript 代码,以使用
    document.querySelector
    等方法操作 Shadow DOM 中的元素。
  3. Polymer DOM:如果适用,请利用
    shadowRoot.querySelector
    等 Polymer DOM API 进行访问。
  4. 页面对象模型 (POM):为有组织的测试实施 POM,从而轻松更新定位器。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://your-salesforce-lightning-page.com")

# Execute JavaScript to access element within Shadow DOM
element = driver.execute_script('return document.querySelector("your-css-selector-inside-shadow-dom")')

# Perform actions on the element
element.click()

© www.soinside.com 2019 - 2024. All rights reserved.