无法通过Selenium for Python找到按钮

无法通过Selenium for Python找到按钮,python,html,selenium,Python,Html,Selenium,我想通过SeleniumWebDriver找到网站上的登录按钮并单击它。 HTML代码如下所示: <a class="myLoginButton" href="#" onclick="fireLoginOrRegisterModalRequest('sign_in');ga('send', 'event', 'service_navigation', 'login', '1st_level');"> Login </a> driver.implicitly_wait

我想通过SeleniumWebDriver找到网站上的登录按钮并单击它。 HTML代码如下所示:

<a class="myLoginButton" href="#" 
onclick="fireLoginOrRegisterModalRequest('sign_in');ga('send', 'event', 
'service_navigation', 'login', '1st_level');">
Login
</a>
driver.implicitly_wait(10)
login_button = driver.find_element_by_class_name('myLoginButton')
login_button.click()

# login_button = driver.find_element_by_xpath('//button[text()="Login"]')
# login_button = 
# driver.find_element_by_xpath("//button[@class='myLoginButton'] 
# [.='Login']")
# login_button = driver.find_element_by_css_selector('myLoginButton')
注释行是我使用的替代方法

请对我温柔一点。我是一个绝对的Python和Selenium新手


提前谢谢你

如果存在iFrame(iFrame中包含的登录表单),则需要切换到

driver.implicitly_wait(10
driver.switch_to.frame('Example')
login_button = driver.find_element_by_class_name('myLoginButton')
login_button.click()

您错过了关于获取url的行,尝试在获取元素之前设置睡眠,或者执行一些功能来检查网站是否已完全加载。还有这个wait.until(位于((By.XPATH…)的元素的EC.invisibility_)很好使用请检查标记元素是否是iframe的子元素。如果是,您必须切换到frame,然后您可以单击元素检查是否存在任何iframe。如果您未正确切换到frame,则会出现此错误。据我所知,没有iframe。用户通常应该找到iframe元素首先,在切换到它之前。代码将是
iframe=driver。通过xpath((//iframe[@class='someClass'])查找元素\u
然后
driver。切换到.frame(iframe)
登录名不包含在iframe中。如果有帮助的话,我可以提供更多的HTML代码。你能在这里发布完整的HTML代码或url吗?