【问题标题】:How do I count the number of divs with a specific class using selenium如何使用 selenium 计算具有特定类的 div 的数量
【发布时间】:2020-10-22 15:14:14
【问题描述】:
我正在构建一个 selenium Bot 来自动玩游戏cookie clicker
我正在尝试访问建筑物列表,因为游戏中的建筑物在我玩游戏时会被解锁,我想让计算机知道建筑物的状态,以便在它即将购买建筑物时应该甚至开始检查新解锁的建筑物,游戏更新建筑物的方式是将类名称从“产品锁定禁用”更改为“产品解锁禁用”,
所以我想计算有多少类中有未锁定的名称,但问题是 div 的内部 HTML 是空的,所以当我使用 find_elements_by_class_name() 它返回一个空列表,所以我可以计算具有特定类名的 div
【问题讨论】:
标签:
python
selenium
selenium-webdriver
【解决方案1】:
在 selenium 中 find_elements_by_class_name accepts only one class name,而您想要的 div 有 3 - product、locked/unlocked 和 disabled。您应该考虑为此使用 CSS 选择器(或 XPATH)。
要找到div 的类-
product
locked
-
disabled
使用 CSS 选择器,你应该使用-
driver.find_elements_by_css_selector('div.product.locked.disabled')
要找到div 的类-
product
unlocked
-
disabled
使用 CSS 选择器,你应该使用-
driver.find_elements_by_css_selector('div.product.unlocked.disabled')