如何使用类似的逻辑将此重写为以上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/

10-12 05:34