首页 > 解决方案 > len(browser.find_elements_by_class_name('foo')) 给出 0

问题描述

我正在使用 python 3.7 并且在 selenium 中出现错误

我有一个看起来像这样的网站:

<html>
    <body>
        <div class="foo">
            <div class="bar1">something clickable</div>
            <div class="bar2">something clickable</div>
            <div class="bar3">something clickable</div>
            <div class="bar4">something clickable</div>
    </div>
<body>
<html>

我想使用 selenium 来单击每个条,所以我写道:

from selenium import webdriver
browser=webdriver.Chrome()
browser.get('https://www.some-website.com')
for i in browser.find_elements_by_class_name('foo'):
    i.click()

但是,执行时我什么也没得到,所以我运行:

print(len(browser.find_elements_by_class_name('foo')))

输出零

即使我放WebDriverWait之前我仍然得到零......

为什么?

标签: pythonhtmlpython-3.xseleniumselenium-webdriver

解决方案


试试这个 xpath 这将返回 4 个 webelements

driver.find_elements_by_xpath("//div[@class='foo']//*")

推荐阅读