繁体   English   中英

Python Selenium 无法定位按钮 class 名称

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM