假设我想点击https://www.w3schools.com/cssref/css_selectors.asp上的w3schools.com(左上角)
像这样

a[href*="w3schools"]


进一步来说..

div.w3-container.top > a[href*="w3schools"][.w3schools-logo]


.... driver.find_elements_by_css_selector("div.w3-container.top > a[href*="w3schools"][.w3schools-logo]")在Selenium中似乎不起作用。

我要问的可能吗?使用a[href*="w3schools"]可以大大缩小HREF的CSS选择器的范围,而不必诉诸页面的任何其他元素。

最佳答案

从您告诉我的情况来看,这看起来像是python中的错误,而不是CSS中的错误。

这是您当前的代码:

driver.find_elements_by_css_selector("a.w3schools-logo[href*‌​="w3schools"]")


更改为此:

driver.find_elements_by_css_selector("a.w3schools-logo[href*‌​='w3schools']")


本质上,在CSS中使用单引号(')。



尝试以下选择器之一:

div.w3-container.top > a[href*='w3schools']
div.w3-container.top > a
div.w3-container.top > a.w3schools-logo
div.w3-container.top > a.w3schools-logo[href*='w3schools']


您的选择器有类似a[href*='w3schools'][.w3schools-logo]之类的东西,只是CSS错误。

如果要将类选择器与属性选择器结合使用,则应如下所示:

a.w3schools-logo[href*='w3schools']

10-06 07:34