如何使用类似的逻辑将此重写为以上xpath的css?
原始CSS:
.gl-Market_HasLabels + .gl-Market_PWidth-12-3333 .gl-ParticipantOddsOnly_Odds
我试过了:
//div[contains(@class, 'gl-Market_HasLabels')] + //div[contains(@class, 'gl-Market_PWidth-12-3333')]//div[contains(@class, 'gl-ParticipantOddsOnly')]
这些xpath有效,但当我将它们组合在一起时无效。
最佳答案
您可以尝试以下XPath:
//div[contains(@class, 'gl-Market_HasLabels')]/following-sibling::div[contains(@class, 'gl-Market_PWidth-12-3333')]//div[contains(@class, 'gl-ParticipantOddsOnly')]
请注意,CSS选择器中的
+
表示下一个兄弟姐妹。 XPath中的following-sibling
返回以下所有同级,但是Selenium代码(例如driver.find_element_by_xpath(...)
)将返回您的第一个(必需)或者您可以显式设置要查找的同级索引:
.../following-sibling::div[contains(@class, 'gl-Market_PWidth-12-3333')][1]//...
请注意,在XPath中,索引从
1
开始,而不是0
关于css - 我怎样才能将此CSS重写为XPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48041026/