找不到单击按钮元素

2024-04-18 00:30:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让脚本单击Spotify登录页上的登录按钮。我已经搜索了一整天的解决方案,但无论什么样的类,css或任何我放在,它只是说它找不到对象。你知道吗

我的代码:

import selenium
from selenium import webdriver

browser = webdriver.Firefox()
browser.get("https://accounts.spotify.com/en/login?
continue=https:%2F%2Fwww.spotify.com%2Fdk%2Faccount%2Foverview%2F") 
username = browser.find_element_by_id("login-username")
password = browser.find_element_by_id("login-password")
username.send_keys("myUser")
password.send_keys("myPass")
login = browser.find_element_by_class_name('ng-pristine ng-valid-sp-
disallow-chars ng-invalid ng-invalid-required').click()

这是我遇到的最后一句话。注意:这只是我尝试过的选项之一。你知道吗


Tags: httpsimportbrowsersendidbyseleniumusername
3条回答

用这个,我更新了答案:

login = browser.find_element_by_xapth("//button[@class='btn btn-sm btn-block btn-green ng-binding']")

login .click()

您可以尝试具有xpath的以下代码:

login = browser.find_element_by_xpath("//button[contains(.,'Log In')]");
login.click();

您在类选择器中使用了多个类。尝试只使用一个类。像这样:

browser.find_element_by_class_name('btn-green').click()

如果它仍然不起作用,那么当您尝试单击该元素时,该元素可能尚未呈现,因此您可能需要尝试使用explicit wait

另外,我检查了你的选择器,看起来你甚至没有指向按钮,而是指向窗体。你知道吗

最后,类选择器可能不是在这里定位元素的最佳方法。我可能会使用XPath选择器来查找包含文本Log In的按钮,使用以下XPath

//button[text()='Log In']

相关问题 更多 >

    热门问题