我试图让我的脚本点击Spotify登录页面上的登录按钮。我一整天都在寻找一个解决方案,但不管是什么课程,css或其他什么,它只是说它找不到对象。
我的代码:
INSERT INTO TableA (ColumnName1, ColumnName 2, ColumnName3, ... )
SELECT ColumnA, 'a', 'b', 'c'
FROM TableA WHERE ...
UNION
Select ColumnB? 'a', 'b', 'c' ...
FROM TABLEB WHERE ....
这是我遇到问题的最后一行。注意:这只是我尝试的选项之一。
答案 0 :(得分:0)
browser.find_element_by_xpath(".//button[contains(text(), 'Log In'])").click()
这应该有效,所以试一试。 :)
正如@Verv所说,你可能有时间问题。因此,只需使用time.sleep()
进行测试,看看是否就是这样。
答案 1 :(得分:0)
您在类选择器中使用多个类。尝试只使用一个班级。像这样:
browser.find_element_by_class_name('btn-green').click()
如果它仍然不起作用,当您尝试单击该元素时,该元素可能尚未呈现,因此您可能想尝试使用explicit wait
另外,我检查了你的选择器,看起来你甚至没有指向按钮,而是指向表单。
最后,类选择器可能不是在此处定位元素的最佳方式。我可能会使用XPath选择器来查找包含文本Log In
的按钮,使用以下XPath
//button[text()='Log In']
答案 2 :(得分:0)
使用此,我更新了答案:
login = browser.find_element_by_xapth("//button[@class='btn btn-sm btn-block btn-green ng-binding']")
login .click()
答案 3 :(得分:0)
您可以尝试使用xpath
:
login = browser.find_element_by_xpath("//button[contains(.,'Log In')]");
login.click();