Проблемы с нажатием кнопки - PullRequest
0 голосов
/ 18 февраля 2020

Я хотел, чтобы программа нажимала кнопку «PLAY» на spotify, чтобы воспроизвести песню, но, к сожалению, я получаю эту ошибку

selenium.common.exceptions.JavascriptException: Сообщение: javascript error : 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 голосов
/ 18 февраля 2020

E C имеет хороший метод проверки нажатия на элемент перед выполнением действия element_to_be_clickable.

Кроме того, я нашел более 20 элементов в Spotify, используя ваш XPath, поэтому я изменил его, чтобы искать button вместо *.

Попробуйте это:

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

Надеюсь, это поможет. Удачи!

0 голосов
/ 18 февраля 2020

WebDriverWait wait = новый WebDriverWait (драйвер, 10); wait.until (ExpectedConditions.visibilityOf (driver.find_element_by_xpath ("// div [@ class = 'TrackListHeader__button TrackListHeader__button - top'] // кнопка")));

Thread.sleep (1000);

driver.find_element_by_xpath ("// div [@ class = 'TrackListHeader__button TrackListHeader__button - top'] // button"). Click ();

также попробуйте этот

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...