单击按钮时出现问题

时间:2020-02-17 21:17:25

标签: python python-3.x selenium

我希望程序单击spotify上的“播放”按钮来播放歌曲,但很遗憾,我收到此错误

selenium.common.exceptions.JavascriptException:消息:javascript错误:arguments [0] .click不是函数

我尝试的代码是

  WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.XPATH,"//*[text()='PLAY']")))
  time.sleep(1)
  driver.execute_script("arguments[0].click();", driver.find_element_by_xpath("//*[text()='PLAY']"))

有人可以帮我找到按钮并单击它吗,我也尝试过

driver.find_element_by_xpath("//*[text()='PLAY']").click()

但是我得到错误元素不可交互

2 个答案:

答案 0 :(得分:0)

WebDriverWait等待=新的WebDriverWait(驱动程序,10); wait.until(ExpectedConditions.visibilityOf(driver.find_element_by_xpath(“ // div [@ class ='TrackListHeader__button TrackListHeader__button--top'] // button“))));

Thread.sleep(1000);

driver.find_element_by_xpath(“ // div [@ class ='TrackListHeader__button TrackListHeader__button--top'] // button“)。click();

也尝试这个

答案 1 :(得分:0)

EC有一个很好的方法,可以在执行操作element_to_be_clickable之前验证元素是否可单击。

此外,我使用您的XPath在Spotify上发现了20多个元素,因此我对其进行了修改,以寻找button而不是*

尝试一下:

WebDriverWait(driver, 3).until(EC.element_to_be_clickable((By.XPATH,"//button[text()='PLAY']")))
driver.find_element_by_xpath("//button[text()='PLAY']").click()

我希望这会有所帮助。祝你好运!