Python中的正则表达式在表中查找行

时间:2016-09-19 19:16:12

标签: python regex webdriver

我使用python来自动化一些测试,并且在某一点上我找到了一个包含行的表,但是这些行有两个不同的分支:

你有班级名称" gris-claro-tr"和" gris-oscuro-tr"。

我需要迭代整个表,找到每一行的文本。到现在为止,我有:

        for row in driver.find_elements_by_class_name("gris-claro-tr"):    
            cell = row.find_elements_by_tag_name("td")[1]
            print (cell.text)

但当然,只适用于具有该类的行。我必须为" gris-oscuro-tr"做同样的事情。但是,如果我能找到一个可以找到行的类的正则表达式,我会得到该表中每一行的文本,无论它是否是" gris-claro-td"或者" gris-oscuro-td"。

问题是:我怎样才能制作正则表达式?

类似于" gris - " +" *" ?

非常感谢!

2 个答案:

答案 0 :(得分:1)

您可以使用 CSS选择器来接近它:

driver.find_elements_by_css_selector(".gris-claro-tr,.gris-oscuro-tr")

,这里的意思是"或",dot定义了一个类名称选择器。

或者,您也可以应用部分匹配,但稍微不那么明确:

driver.find_elements_by_css_selector("[class^=gris][class$=tr]")

其中^=表示"以"开头,$=表示"以"结尾。

答案 1 :(得分:0)

如果你坚持使用XPATH,你可以使用

driver.find_elements_by_xpath("//*[@class='gris-claro-tr'] or [@class='gris-oscuro-td'] ")

*可以通过您的标记名称

重复显示