【发布时间】:2021-10-15 13:12:24
【问题描述】:
我正在尝试单击一个看起来像存在于影子根目录中的按钮。下面是我要点击的图片:
当我尝试单击其上方的元素时,收到元素不可交互的错误。
在 amazon prime music 上搜索任何歌曲,以便自己完成。
方法 1
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()
方法 2
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
【问题讨论】: