本文介绍Python调用Selenium实现模拟浏览器输入和点击的步骤和方法,并给出最易出现的BUG的解决办法 ? 一、安装Selenium pip install Selenium ?...find_element_by_class_name('class_name')选择html标签时,报错: Message: invalid selector: Compound class names not permitted 消息...:无效选择器:不允许使用复合类名 原因分析: 我们通过F12从浏览器获取到的html元素的class name中间有空格,所以提示我们:类名不合法,不允许的类名 解决方法: 方法1.html元素的class...name中间的空格是表示父级和子级的关系,我们调用以上方法时,使用类名的最后一段就可以了 如选择html标签: <button type="submit" class="btn-search tb-bg...改成find_element_by_class_name('tb-bg')就可以选择到需要的button标签(btn-search和tb-bg中间有空格) 但是要确认tb-bg不是被很多个标签重复使用的类名
空格规范 选择器与{之间必须包含空格. 如: .class {} 属性名与之后的:符号之间不允许包含空格, 而:符号与属性值必须包含空格....important声明的规则 使用内嵌声明 使用id选择器 使用类选择器,属性选择器,伪元素和伪类选择器 使用元素选择器 只包含一个通用选择器 同一类选择器则遵循就近原则 总结:权重是优先级的算法,层叠是优先级的表现...标签选择器(元素选择器) 类选择器 多类名选择器 id选择器 id选择器和类选择器区别 通配符选择器 // 标签选择器(元素选择器)div span 标签名{属性1:属性值1; 属性2:属性值2...; 属性3:属性值3; } 或者 元素名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } // 类选择器 .类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } //...多类名选择器 1 2 安3拉
2.2选择器的分类 选择器分为基础选择器和复合选择器两大类。...类选择器在HTML中以class属性表示,在CSS中,类选择器以“.类名”来表示 /* 所有属于red类的标签都会变为红色 */ .red { color...长名称或词组可以使用中横线来命名,例如 “div-red” 不要使用纯数字、中文等命名,尽量使用英文字母 命名要有意义,尽量做到“顾名思义” 类选择器-多类名 我们可以给一个标签指定多个类名,从而达到更多的选择目的...通过这些类名都可以选出这个标签。简单理解就是一个标签有多个名字。 2.5id选择器 id选择器可以为标有特定id的HTML元素指定特定的样式。...注意点:同一个id属性只能在每个HTML文档中出现一次,不允许两个标签有相同的id属性值 id选择器与类选择器的区别: 类选择器(class)好比人的名字,一个人可以有多个名字,一个名字也可以被多个人使用
0168A 在数据源上找不到源过程的程序包主体,或者它无效。01H51 “MQSeries 应用程序消息传递接口”消息被截断。01H52 例程的执行已完成,但是执行期间至少遇到了一个错误或警告。...2D522 ATOMIC 复合语句中不允许 COMMIT 和 ROLLBACK。2D528 动态 COMMIT 对于应用程序执行环境无效。...38H04 MQSeries 的“应用程序消息传递接口”未能发送消息。38H05 MQSeries 的“应用程序消息传递接口”未能读取/接收消息。...38H0A MQSeries 的“应用程序消息传递接口”未能回滚工作单元。 类代码 39 外部函数调用异常 表 29....类代码 39:外部函数调用异常 SQLSTATE 值 含义39001 用户定义的函数已返回无效 SQLSTATE。39004 不允许 IN 或 INOUT 参数为空值。
链接标签:a标签(属性href跳转URL[本地或网络](mailto:xxx@qq.com选项启动本地邮件),target属性_self本页面打开_blank新建选项卡) 块标签:span(包裹作用,默认无效果...选择器:基础选择器:id选择器(#id属性值{},优先级高于元素选择器),元素选择器(标签名{}),类选择器(.名称{},使用标签的class属性调用,高于元素选择器,低于id选择器)。...拓展选择器:*表示选择所有元素,并集选择器(选择器1,选择器2{}),子选择器(选择器1 选择器2{}选择元素1下的元素2),父选择器(父标签 > 子标签{},作用于父标签) 属性选择器(元素名[属性名...=属性]{},选中有该属性的标签),伪类选择器,选择一些元素具有的状态,格式如:XXX(如a等标签):输入关键字(如link初始化状态,visited访问过,hover悬浮,active正在访问等属性)...margin外边距(复合属性,auto居中)(相对于当前的对象),padding内边距(相对于当前的对象)。
标签选择器 标签名 {css属性名: 属性值;} 类选择器 .class 通过类名 指定标签的style 一个标签需要多个类名,用空格隔开即可 id 选择器 配合js 诞生,在一个页面中式唯一的...2 {css} 两者均包括 交集选择器:紧挨着 作用 选中页面中同时满足多个选择器的标签 选择器1.选择器2 {css} 满足既又原则 伪类选择器 hover 当鼠标放置到目标上时,样式改变 任何一个标签都可以写...类选择器 选择器 < 行内样式 < !...important不能提升继承的优先级,且实际开发中不建议使用 标签的范围越广,其优先级越低,个人认为可简记为 远水解不了近渴 权重叠加计算 场景:复合选择器 需要通过权重叠加计算 判断最终哪个选择器优先级会生效...权重叠加计算公式 (0, 0, 0, 0) (行内,id,类名,标签) 之间无进位 只是统计每个复合选择器的对应选项个数 如果都相同 谁在后面谁生效 如果第一级数字相同 再去比较其他 需要结合例子理解
如果想要生成多个相同标签 加上*就可以了 比如div*3就可以快速生成3个div 如果有父子级关系的标签,可以用>比如ul>li就可以了 如果有兄弟关系的标签,用+就可以了 比如div+p 如果生成带有类名或者...1、什么是复合选择器?...在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。...复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,可以更准确、更高效的选择目标元素(标签) 常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等 2、后代选择器 (重要)...高、宽直接设置是无效的。 默认宽度就是它本身内容的宽度。 行内元素只能容纳文本或其他行内元素。
CSS中的类选择器 类选择器作用: 根据类名找到标签 格式: .类名{ } 代码: 提问:这里有三个标签,我想老大标签使用之后,老二不允许使用,其它都不允许使用,那么又该肿么办呢?...2.5.4.CSS中的id选择器 id选择器作用: 根据id名找到标签 格式: #id名{ } 代码: Id选择器和类选择器的区别: Id选择器中的id不能重复,也就是说id是唯一的 类选择器的class...2.5.5.CSS中的并列选择器 代码: 2.5.6.CSS中的复合选择器 2.5.7.CSS中的后代选择器 2.5.8.CSS中的直接后代选择器 2.5.9.CSS中的相邻兄弟选择器 2.6.0....CSS中的属性选择器 2.6.1.CSS选择器-伪类 伪类 在原有选择器的基础上添加的 伪类 只有在触发某些操作的时候执行的样式效果 2.6.2.CSS选择器的优先级 原则: 相同类型的选择器:...a 就近原则 b 叠加原则 不同类型的选择器: 优先级排序 important > 内联 > id > 类 > 标签 | 伪类 | 属性选择 > 伪元素 > 通配符 选择器的权值: 通配选择符(*):
CSS 工作组都干了什么:介绍工作组的工作内容 未来的原生嵌套:介绍嵌套语法 来自 Web 开发者的呼声 2012年4月13日,CodePen 的联合创始人 Chris Coyier 抱怨 CSS 的类名不支持命名空间...前瞻符,诸如: # ID 选择器 . 类选择器 [] 属性选择器 * 通用选择器 : 伪类 :: 伪元素 ? 图2....CSS 声明 另外,如果省略了 & 也就没法区分 #foo { .bar {} } 到底是复合选择器 #foo.bar 还是组合选择器 #foo .bar 了。...:blue; }}/* 无效原因:& 没有在组合选择器的第一位 */ .foo { color: red; &.bar, .baz { color: blue; }}/* 无效原因:列表的第二个选择器里没有嵌套选择器...& .bar, .baz { color: blue; }}/* 无效原因:列表里并非所有的选择器都包含嵌套选择器 & */ 你有想说的吗?
选择的标签 { CSS属性; } 类选择器 可以创建CSS类,手动指定哪些元素应用这个类。定义类,需要用.+class类名来定义一个类。...引用这个类的时候,通过class属性="类名"即可.一个类,可以被一个元素引用,也可以被多个元素引用.一个元素可以引用一个类,也可以引用多个类. .class属性值 { CSS属性; } 3....并集选择器 就是让多组选择器应用同样的样式, 选择器可以是基础的, 也可以是复合的, 多组选择器之间通过,分隔....选择器1,选择器2,...{ CSS属性; } 伪类选择器 伪类选择器是复合选择器的特殊用法, 让元素在不同的状态下可以有不同的表现, 语法上前面一个选择器表示是选中某个元素, 后面的伪类选择器是选中某个元素的某个特定的状态..., 一行可以显示多个 设置高度, 宽度, 行高无效 左右外边距有效(上下无效).
选择器分为基础选择器和 复合选择器,我们这里先讲解一下 基础选择器。 2....2.2 类选择器 类选择器使用“.”(英文点号)进行标识,后面紧跟类名....语法: 类名选择器 .类名 { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 标签 类名'>...注意: 各个类名中间用空格隔开。 多类名选择器在后期布局比较复杂的情况下,还是较多使用的。...用法基本和类选择器相同。 id选择器和类选择器区别 W3C标准规定,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class。
语法: .类名 { 属性名:属性值; } 举例: .student{ color: blue; font-size: 40px; } 可以选中所有class为student的元素,对于...语法: #id值 { 属性名;属性值; } 总结 CSS复合选择器 复合选择器建立在基本选择器之上,由多个基础选择器,通过不同的方式组合而成。...复合选择器可以在复杂结构中,快速而准确的选中元素。 交集选择器 作用:选中同时符合多个条件的元素。...(或) 语法:选择器1,选择器2,选择器3 { } 举例: 一般将每一个类名都换一个行,美观 /* 选中id为peiqi,或类名为rich,或类名为beauty的元素 */ #peiqi,...兄弟选择器 选择的都是指定下面的兄弟 相邻兄弟选择器 作用:选中指定元素后,复合条件的相邻兄弟元素。
选择器种类 以下内容只是 CSS2 标准中支持的选择器, 在 CSS3 中还做出了一些补充, 咱们后面再说 基础选择器:单个选择器构成的 标签选择器 类选择器 id 选择器 通配符选择器 复合选择器:把多种基础选择器综合运用起来...步骤: 定义类选择器 -> .类名 使用类选择器 -> 标签添加 class= “类名” .red{ color: red; } .size...开头的 一个类可以被多个标签使用, 一个标签也能使用多个类(多个类名要使用空格分割, 这种做法可以让 代码更好复用) 类名自定义,不要用 纯数字或者中文,尽量用英文命名 类名可以由数字、字母、下划线、中划线组成...**开发习惯:**类名见名知意,多个单词可以用 - 连接 2.3 id 选择器 和类选择器类似....特点: 不独占一行,一行可以显示多个 设置高度、宽度、行高无效 左右外边距有效(上下无效),内边距 有效, 默认宽度就是本身的内容 行内元素只能容纳文本和其他行内元素,不能放块级元素
是时候淘汰less/sass等预处理器了 CSS原生嵌套浏览器兼容性查看 来自 Web 开发者的呼声 2012年4月13日,CodePen 的联合创始人 Chris Coyier 抱怨 CSS 的类名不支持命名空间...在没有&的情况下嵌套类始终会生成后代选择器。使用&符号可以更改结果。 选择除了粉色形状之外的所有形状 这个任务需要使用否定功能伪类,元素不能具有指定的选择器。...但在CSS嵌套中,这种方法是无效的,因为选择器不是字符串,而是对象引用。...嵌套选择器以这些符号之一开头吗?如果是,则有效。如果不是,则无效。...使用嵌套时,确保理解如何正确放置选择器和使用&符号来连接或附加选择器。此外,熟悉无效的嵌套示例,以避免错误。
2.选择器的分类 选择器的两类: a.基础选择器:基础选择器是单个选择器构成, 包括:标签选择器,类选择器,id选择器和通配符选择器 b:复合选择器:多个基础选择器组合而成 包括:后代选择器,...类名">段落内容 2.多类名 我们可以给一个标签设置多个类名,从而达到更多选择的目的 a.多类名的使用 多个类型写到class里面,用逗号隔开 html: 类名...1 类名2”>段落内容 那为什么不把这两个类选择器里的样式都合到一个类选择器里呐?...回顾一下: 选择器两大类: 基础选择器:标签选择器,类选择器,ID选择器,通配符选择器 复合选择器:后代选择器,子选择器,并集选择器,伪类选择器 从现在开始我们就得学习复合选择器(多个基础选择器的组合...类选择器就是.类名开头,伪类选择器和类选择器的书写方式类似,比如a:hover 伪类选择器种类很多:链接伪类选择器,结构伪类选择器等 一.链接伪类选择器 1.链接伪类选择器的基本语法
2.2.1.5、总结 标签选择器, 页面同选起。 直接写标签, 全部不放弃。 2.2.2、类选择器 2.2.2.1、概念 类选择器使用.(英文点号)进行标识,后面紧跟类名。...2.2.2.2、语法 .类名 { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 类名'>p> 我们还可以给标签指定多个类名...我们可以看到大厂做的产品,一般制定两个以上的类名。 ? 注意: 各个类名中间用空格隔开。 多类名选择器在后期布局比较复杂的情况下,还是较多使用的。...2.2.2.4、注意 类选择器使用.(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)。 长名称或词组可以使用中横线来为选择器命名。 要纯数字、中文等命名, 尽量使用英文字母来表示。...2.2.3.3、id选择器和类选择器区别 W3C标准规定,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class,id选择器和类选择器最大的不同在于使用次数上。
标题图 Day3:html和css 多类名选择器 样式的显示效果是跟html元素中的类名先后顺序无关,而是跟css样式的书写上下顺序有关. 多类名 多类名 多类名 多类名 多类名 id选择器 id选择器是使用#符号的: #id名{属性:属性值;} class好比人的名字,可以多次使用,而id选择器是代表唯一的,如人的身份证号码...(不允许使用多次,浏览器兼容性好,虽然可以用多次,但是是不允许这样做的) id只使用一次,class可以使用多次. 倾斜 倾斜 加粗 下划线 复合选择器
提供包括 Eclipse、IDEA、UltraEdit、SlickEdit 的插件;CSS复合选择器CSS复合选择器是对基础选择器进行组合而成;常用的选择器又:后代选择器、子选择器、并集选择器、伪类选择器...:> 元素1,元素2 { 样式声明 }一般以逗号分行写(竖着写)伪类选择器:伪类选择器用于给某些选择器添加特殊效果;主要有链接伪类选择器,结构伪类选择器;- 链接伪类选择器:> a:link {color...;如p,h1-h6等行内元素: > a strong b em i span等,行内元素也称内联元素 > 相邻行内元素都显示在一行 > 无法直接设置宽度和高度,设置无效 > 默认的宽度是本身内容的宽度...,就近原则> 不同选择器,优先级为 继承或* 》标签元素选择器》类选择器,伪类选择器 》ID选择器 》行内样式 》 !...important> a链接有默认的样式{color:blue},不会继承body的样式> 权重叠加:复合选择器包含多种类型选择器,存在权重计算的问题;> 权重会叠加,但是不是进位; 及多个元素选择器永远小于一个类选择器
例如: 尝试提交空值会阻止表单提交并在 Chrome 中显示以下消息: 微调器不允许 1 到 100...CSS 验证样式 您可以将以下伪类应用于输入字段以根据当前状态对其进行样式设置: 选择器 描述 :focus 重点领域 :focus-within 一个元素包含一个具有焦点的字段(是的,它是一个父选择器...typeMismatch该值不是有效的电子邮件或 URL.valueMissing一个required值为空 各个字段具有以下约束验证方法: setCustomValidity(message): 为无效字段设置错误消息...,脚本将invalid类应用到。...无效字段具有invalid应用于该字段的父元素的类,该类使用 CSS 显示红色帮助消息。
领取专属 10元无门槛券
手把手带您无忧上云