假设我想点击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']