我正在尝试单击一个看起来像存在于阴影根中的按钮。下面是我试图点击的图片:
当我尝试单击其上方的元素时,收到元素不可交互的错误。
搜索 amazon prime music 上的任何歌曲以自行完成。
方法一
song_result = driver.find_element(By.XPATH,"/html/body/div/music-app/div[4]/div/div/div/music-container/music-container[2]/div/music-shoveler")
song = song_result.find_element(By.TAG_NAME,"music-horizontal-item")
a = song.find_elements(By.TAG_NAME,"music-button")
a[1].click()
方法二
driver.find_element(By.XPATH,"/html/body/div/music-app/div[4]/div/div/div/music-container/music-container[2]/div/music-shoveler/music-horizontal-item[1]/music-button[2]//button").click()
其实顺序是这样的:
<music-horizontal-item>
<music-button>
#shadowRoot
<button>
<music-button>
#shadowRoot
<button>This button I need to click
所以我按照你的建议使用了这个
song_result = driver.find_element(By.XPATH,"/html/body/div/music-app/div[4]/div/div/div/music-container/music-container[2]/div/music-shoveler")
song = song_result.find_element(By.TAG_NAME,"music-horizontal-item")
a = song.find_elements(By.TAG_NAME,"music-button")
song_root = driver.execute_script("return arguments[0].shadowRoot",a[1])
song_root.find_element(By.TAG_NAME,"button").click()a
仍然收到此错误:
Message: element not interactable