Python selenium webdriver。查找具有指定类名的元素

时间:2016-08-01 12:29:56

标签: python selenium

我正在使用Selenium来解析包含看起来有点像这样的标记的页面:

<html>
    <head><title>Example</title></head>
    <body>
        <div>
            <span class="Fw(500) D(ib) Fz(42px)">1</span>
            <span class="Fw(500) D(ib) Fz(42px) Green XYZ">2</span>
        </div>
    </body>
</html>

我想获取包含foobar类的所有span元素。

我已经尝试了这两个(变量wd是selenium.webdriver的一个实例):

elem = wd.find_elements_by_css_selector("span[class='Fw(500) D(ib) Fz(42px).']")

elem = wd.find_element_by_xpath("//span[starts-with(@class, 'Fw(500) D(ib) Fz(42px))]")

没有工作。

如何只选择以Fw(500) D(ib) Fz(42px)

开头的元素

即。两个都是给定样本标记中的元素。

2 个答案:

答案 0 :(得分:2)

尝试如下: -

elem = wd.find_elements_by_css_selector("span.foobar")

如果课程foobar之间有空格,请尝试以下操作: -

elem = wd.find_elements_by_css_selector("span.foo.bar")

已修改:如果您的类包含非字母字符,并且您想要找到以Fw(500) D(ib) Fz(42px)开头的元素,请尝试以下操作: -

elem = wd.find_elements_by_css_selector("span[class ^= 'Fw(500) D(ib) Fz(42px)']")

答案 1 :(得分:-1)

尝试通过XPath查找元素:

//span[@class='foobar']

这应该有效。