[英]Python Selenium Unable to locate button class name
我查看了关于 SO 的所有类似问题,但无法解决我的问题。 Selenium 似乎没有找到我试图单击以在抓取之前加载更多页面的按钮。
下图中是我尝试单击以加载更多页面的按钮,然后再进行一些刮擦(按钮的类名:btn btn-default)
我做了什么:我使用了 Selenium 的 webdriver。 我尝试等待至少 5 秒以使用睡眠加载页面。 最后使用 click() function。 我从本教程中得到启发(部分:使用 Selenium)
urlpage = '网址'
我的代码如下:
driver = webdriver.Firefox()
driver.get(urlpage)
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
time.sleep(5)
button = driver.find_element_by_class_name("btn btn-default")
button.click()
如果有人知道我做错了什么,我将不胜感激:)
问题可能来自您试图通过提供 2 个 class 名称(“btn”和“btn-default”)来查找 class 名称。 当我将线路更改为
button = driver.find_element_by_class_name("btn-default")
它似乎工作得很好。 请注意,class“btn-default”的元素很少,它只会返回第一个。 您可以使用 function
find_elements_by_class_name(class_name)
使用此 class 查找所有元素(将返回一个列表对象)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.