使用css选择器容易犯的一个小错误

使用css选择器容易犯的一个小错误


比如说,当我们使用scrapy框架的时候,想要利用find_element_by_css_selector()方法来找出网页中对应的部分,比如说下图所示的登陆框。

使用css选择器容易犯的一个小错误
我们可以看到,对应的div中的class是"SignFlow-accountInput Input-wrapper",中间有一个空格。

在css选择器内,我们应该用点号(".")将空格连起来,然后将空格删去:
使用css选择器容易犯的一个小错误
如果不这样写,那么就什么也识别不出来。

我在spyder中写了一个小例子:
使用css选择器容易犯的一个小错误
一个空格的差别,就是找的到和找不到的差别。

总结,使用css选择器,通过不同的class来选择div、ul、li的时候,如果是从父节点向子节点进行选择的时候,这样写:(".AA空格.BB")。

如果某个class名称的内部有空格的时候,比如"AA aa",这样写:(".AA.aa空格.BB")