Python/Selenium-通过长类名的类名查找元素

Python/Selenium-通过长类名的类名查找元素,python,css,selenium,Python,Css,Selenium,硒的基本问题 在我试图迭代的站点中有一个类(没有ID,没有名称),但是类名非常长,比如class=“我的真正长的带空格的蹩脚类名” 我正在尝试mydriver.find\u elements\u by\u class\u name(idClass)其中mydriver=webdriver.Firefox() 我还尝试了my.really.long.crapy.class.name.with.space,但这也不起作用(将其视为针对像我这样的一些其他问题发布的解决方案。当我运行此操作时,不会出现错

硒的基本问题

在我试图迭代的站点中有一个类(没有ID,没有名称),但是类名非常长,比如
class=“我的真正长的带空格的蹩脚类名”

我正在尝试
mydriver.find\u elements\u by\u class\u name(idClass)其中
mydriver=webdriver.Firefox()

我还尝试了
my.really.long.crapy.class.name.with.space
,但这也不起作用(将其视为针对像我这样的一些其他问题发布的解决方案。当我运行此操作时,不会出现错误,但我的结果大小为零

下面的函数是我目前正在使用的,我正在打印

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

其中
class1
class2
class3
是元素具有的类名

或者,另一种选择是使用:

如果事先知道标记名,也可以将其替换为
*


希望能有帮助。

你传递了什么
idClass
值?@alecxe我尝试了
“我很长的带空格的蹩脚类名”
“我的.really.long.crapy.class.name.with.space”
当然可以。你能解开//*正在做什么吗?@jasonm它意味着任何元素,任何标记名。你没有提到你要找的元素。如果你知道元素是什么,就用它替换
*
。例如,
//div[…]
mydriver.find_elements_by_css_selector('.class1.class2.class3');
mydriver.find_elements_by_xpath('//*[@class="my really long crappy class name with space"]')