我正在尝试更改 chrome 配置文件名称,例如:chrome://settings/manageProfile
使用 Python 和 Selenium :
这是左上角的空文本框:
问题是我无法访问该元素,我尝试了以下所有内容:
chromeProfilName = browser.find_element(By.XPATH, "//*[@id='profile-name']")
chromeProfilName = browser.find_element(By.ID, "profile-name")
chromeProfilName = browser.find_element(By.ID, "input")
我不太明白 HTML 页面是如何制作的,但是当我检查页面时,我发现了 textboxID = "input"
.但是,该值存储在一个跨度中,其 ID 为 "profile-name".
我总是有同样的问题:“没有这样的元素:无法找到元素”。我对 Selenium 没有深入的了解。我已经在互联网上寻找答案,但一无所获。谢谢 !
最佳答案
访问 输入 您需要遍历的元素 shadowroot
元素。使用以下 querySelector
识别 输入 标签。
driver.get("chrome://settings/manageProfile")
profileInput = driver.execute_script('return document.querySelector("settings-ui").shadowRoot.querySelector("settings-main").shadowRoot.querySelector("settings-basic-page").shadowRoot.querySelector("settings-people-page").shadowRoot.querySelector("settings-manage-profile").shadowRoot.querySelector("cr-input").shadowRoot.querySelector("#input")')
profileInput.click()
profileInput.clear()
profileInput.send_keys("user676767")
浏览器快照:关于python - 无法在 google chrome 网页上找到元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63994977/