我使用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 - " +" *" ?
非常感谢!
答案 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'] ")
*
可以通过您的标记名称