Python / Selenium - 具有长类名的find_elements_by_class_name

时间:2014-05-06 02:31:27

标签: python css selenium

硒的基本问题。

我试图迭代的网站中有一个类(没有ID,没有名称),但是类名非常长,例如class="my really long crappy class name with space"

我正在尝试mydriver.find_elements_by_class_name(idClass); mydriver = webdriver.Firefox()

我也试过my.really.long.crappy.class.name.with.space这也不起作用(在我这样的其他一些问题上看到这是一个已发布的解决方案。当我运行这个时,我没有得到错误,但我的结果大小为零。

以下功能是我目前正在使用的,我正在打印

        def getElementByClass(idClass):
            a=[];
            try:
                print idClass;
                a = mydriver.find_elements_by_class_name(idClass);
                return a;
            except:
                print 'crap';

1 个答案:

答案 0 :(得分:1)

您可以使用find_elements_by_css_selector()

mydriver.find_elements_by_css_selector('.class1.class2.class3');

其中class1class2class3是该元素的类名。

或者,另一种选择是使用find_elements_by_xpath()

mydriver.find_elements_by_xpath('//*[@class="my really long crappy class name with space"]')

如果您事先知道,也可以用标记名称替换*

希望有所帮助。