我正在嘗試構建一個機器人來解決網站上的 Wordle 難題(
這是我在網站上看到的

uj5u.com熱心網友回復:
innerHTML所需的資訊在多個#shadow-root (open)內。

解決方案
要提取您需要使用的資訊shadowRoot.querySelectorAll(),您可以使用以下定位器策略:
代碼塊:
driver.get("https://www.powerlanguage.co.uk/wordle/") time.sleep(1) sends=driver.find_element(By.XPATH, "/html/body") sends.click() sends.send_keys("adieu") sends.send_keys(Keys.ENTER) inner_texts = [my_elem.get_attribute("outerHTML") for my_elem in driver.execute_script("""return document.querySelector('game-app').shadowRoot.querySelector('game-row').shadowRoot.querySelectorAll('game-tile[letter]')""")] for inner_text in inner_texts: print(inner_text)控制臺輸出:
<game-tile letter="a" evaluation="absent" reveal=""></game-tile> <game-tile letter="d" evaluation="absent"></game-tile> <game-tile letter="i" evaluation="correct"></game-tile> <game-tile letter="e" evaluation="absent"></game-tile> <game-tile letter="u" evaluation="absent"></game-tile>
參考
您可以在以下位置找到一些相關的討論:
- 無法使用 Python Selenium 在 shadow-root(打開)中定位元素
- 如何使用 Python 和 Selenium 通過 cookie 協議頁面?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/416034.html
標籤:
