精华内容
下载资源
问答
  • 这个元素,如果直接写入复合元素属性值,则会出现以下报错: Compound class names not permitted:不允许使用复合类名 但是可以直接写其中的一部分,就可以定位得到,如下图:(其中第一个有其他同名元素值)...

    如下的元素属性值

     

     

    放大:

     

    这个元素,如果直接写入复合元素属性值,则会出现以下报错:

     

    Compound class names not permitted:不允许使用复合类名

    但是可以直接写其中的一部分,就可以定位得到,如下图:(其中第一个有其他同名元素值)

     

     

    展开全文
  • 1 background(复合属性)与font(复合属性): background: 颜色 图片的链接 是否平铺 背景位置 是否滚动。(可以随意调动或省略) Font: 粗度 字体风格 字体大小/行高 字体样式 字体大小和样式不可省略 ...

    1 background(复合属性)与font(复合属性):

     

       background: 颜色  图片的链接  是否平铺  背景位置 是否滚动。(可以随意调动或省略)

    Font: 粗度 字体风格 字体大小/行高 字体样式

    字体大小和样式不可省略

    2 行内块的间距问题

        行内块元素相邻时,行内块元素之间会有像素的间距,只有通过浮动解决。

    3 行内元素的margin

    行内元素的上下外边距不起作用,左右起作用。

    4 清除浮动

    给父盒子设置一个高度    
    Clear: both     
    Overflow: hidden    触发了BFC模式 也可以用来清除浮动  

     伪元素或是双伪元素清除法

    .clearfix:before, .clearfix:after {
        /*清除浮动,最好最标准的写法*/
        content: "";
        display: table;
    }

    .clearfix:after {
        clear: both;
    }

    .clearfix {
        *zoom: 1; /*IE/7/6*/  /*兼容IE6下的写法*/
    }
     

    5定位的元素的层级

    如果只给一个元素设置absolute 不设置trbl会显示在原位子

    如果只给一个元素绝对定位,而不写trbl值的话,会以原位显示

    定位(相对和绝对或固定)的元素都有一个层级的属性或是概念。如果定位了的相邻多个元素,在同一个位置的话,后面的元素默认会压住前面的元素。如果同样是定位了的元素,默认他们的层级都是0,只不过后面的元素会压住前面的元素。如果想让当前的元素显示在后面的元素之上,这个时候就需要改变层级的关系,用z-index来改变。

    z-index的取值范围0---9999999,最好是正数,尽量不要用负数。

    6  Border-radius: 边框半径

    Border-radius:左上,右上,右下,左下

    当四个值达到宽度或高度较小的一般的 会达到峰值

    这是个css3属性 有兼容问题 但不会影响想要表达的内容

    转载于:https://www.cnblogs.com/wjl3898/p/5701813.html

    展开全文
  • 在操作Web元素之前,需要先找到该元素,这个查找的过程称之为元素定位。Selenium支持8种元素...不允许使用复合类名,即当时,不能使用“class-a class-b”来定位元素,但可以使用“class-a”或“class-b”来定位...

    在操作Web元素之前,需要先找到该元素,这个查找的过程称之为元素定位。

    Selenium支持8种元素定位方法:

    • ID:根据元素的id属性值来定位元素。

    • Name:根据元素的name属性值来定位元素。

    • Class Name:根据元素的class属性值来定位元素。不允许使用复合类名,即当时,不能使用“class-a class-b”来定位该元素,但可以使用“class-a”或“class-b”来定位。

    • Tag Name:根据元素的HTML标签名来定位元素。

    • CSS Selector:根据CSS选择器来定位元素。CSS选择器常用语法如下表所示:

    64960dc045fc6910552834d94c48c17f.png

    • XPath:根据XPath表达式来定位元素。XPath全称XML Path Language,即XML路径语言,其常用语法如下表所示:

    1aa5bd46c0c54b221609ccac53317e44.png

    • Link Text:根据超链接文本来定位元素。其基于XPath定位。

    • Partial Link Text:根据超链接中的部分文本来定位元素。其基于XPath定位。

    By类中有8个类变量分别用于表示以上8种元素定位方法,然后结合WebDriver对象的find_element或find_elements方法使用,前者返回WebElement对象,后者返回WebElement列表对象。WebElement对象表示单个元素,WebElement列表对象表示一组元素。

    一旦定位到了元素,即可对元素进行操作,比如输入文本、点击、获取文本等。

    find_element和find_elements方法是WebDriver基类提供的,如果使用Chrome、Firefox等WebDriver的子类时,还可以调用诸如find_element_by_css_selector之类的快捷方法,可避免使用By类。

    如果您还没部署IMS,请参考“Dubbo接口自动化测试(2):部署示例应用程序”。

    以登录IMS为例演示元素定位及操作:

    from time import sleepfrom selenium.webdriver import Chromefrom selenium.webdriver.common.by import Bywith Chrome() as driver:    driver.get('http://localhost:9002/login')    # 使用WebDriver基类的方法    username = driver.find_element(By.CSS_SELECTOR, "input[type='text']")    username.send_keys('zhangsan')    # 使用WebDriver子类Chrome的方法    password = driver.find_element_by_css_selector("input[type='password']")    password.send_keys('zhangsan123456')    button = driver.find_element_by_class_name('el-button')    button.click()    sleep(1)    expected_element = driver.find_element_by_css_selector('#nav > div:nth-child(2) > span')    assert expected_element.text == 'zhangsan'

    以上代码分别使用send_keys和click方法进行了输入文本和点击的操作,并访问了WebElement对象的text属性获取元素的文本。在点击了登录按钮后,加了1秒的等待时间,否则有可能IMS首页还未加载完成,导致无法对IMS首页上的元素进行操作。

    由于以上WebElement对象仅使用了一次,因此可以简化代码,比如将:

    username = driver.find_element(By.CSS_SELECTOR, "input[type='text']")username.send_keys('zhangsan')

    修改为:

    driver.find_element(By.CSS_SELECTOR, "input[type='text']").send_keys('zhangsan')

    除了以上介绍的send_keys和click方法,以及text属性,WebElement对象还可以进行更多操作,比如is_selected、is_enabled和is_displayed方法分别用于检验元素是否选中、检验元素是否启用和检验元素是否显示。

     在实际项目中,经常需要遍历一组元素,并从该组元素中找到指定需求的某个元素。比如登录IMS后,在IMS首页的列表中查找是否存在MacBook Air电脑:

    goods = driver.find_elements_by_css_selector('tbody > tr')exist = Falsefor good in goods:    if good.find_element_by_class_name('el-table_1_column_2').text == 'MacBook Air':        exist = True        breakassert exist
    展开全文
  • 在操作Web元素之前,需要先找到该元素,这个查找的过程称之为元素定位。Selenium支持8种元素...不允许使用复合类名,即当时,不能使用“class-a class-b”来定位元素,但可以使用“class-a”或“class-b”来定位...

    在操作Web元素之前,需要先找到该元素,这个查找的过程称之为元素定位。

    Selenium支持8种元素定位方法:

    • ID:根据元素的id属性值来定位元素。

    • Name:根据元素的name属性值来定位元素。

    • Class Name:根据元素的class属性值来定位元素。不允许使用复合类名,即当时,不能使用“class-a class-b”来定位该元素,但可以使用“class-a”或“class-b”来定位。

    • Tag Name:根据元素的HTML标签名来定位元素。

    • CSS Selector:根据CSS选择器来定位元素。CSS选择器常用语法如下表所示:

    2022b64fd20c80251ae6fc2d5b6da268.png

    • XPath:根据XPath表达式来定位元素。XPath全称XML Path Language,即XML路径语言,其常用语法如下表所示:

    0c0806350d65a96b2dccc33e854f3899.png

    • Link Text:根据超链接文本来定位元素。其基于XPath定位。

    • Partial Link Text:根据超链接中的部分文本来定位元素。其基于XPath定位。

    By类中有8个静态方法分别用于接收以上8种元素定位方法的字符串,以此构建By对象,然后把By对象传递给WebDriver对象的findElement或findElements方法,前者返回WebElement对象,后者返回List对象。WebElement对象表示单个元素,List对象表示一组元素。

    一旦定位到了元素,即可对元素进行操作,比如输入文本、点击、获取文本等。

    findElement和findElements方法是WebDriver接口提供的,如果使用ChromeDriver、FirefoxDriver等实现类时,还可以调用诸如findElementByCssSelector之类的快捷方法,可避免手工构建By对象。

    如果您还没部署IMS,请参考“Dubbo接口自动化测试(2):部署示例应用程序”。

    以登录IMS为例演示元素定位及操作:

    package com.lujiatao.seleniumtest;import org.openqa.selenium.By;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;import java.util.concurrent.TimeUnit;public class SeleniumTest {    public static void main(String[] args) {        ChromeDriver driver = new ChromeDriver();        try {            driver.get("http://localhost:9002/login");            // 使用WebDriver接口的方法            WebElement username = driver.findElement(By.cssSelector("input[type='text']"));            username.sendKeys("zhangsan");            // 使用RemoteWebDriver类的方法(ChromeDriver继承至RemoteWebDriver)            WebElement password = driver.findElementByCssSelector("input[type='password']");            password.sendKeys("zhangsan123456");            WebElement button = driver.findElementByClassName("el-button");            button.click();            TimeUnit.SECONDS.sleep(1);            WebElement expectedElement = driver.findElementByCssSelector("#nav > div:nth-child(2) > span");            assert expectedElement.getText().equals("zhangsan");        } catch (InterruptedException e) {            e.printStackTrace();        } finally {            driver.quit();        }    }}

    以上代码分别使用sendKeys、click和getText方法进行了输入文本、点击和获取文本的操作。在点击了登录按钮后,加了1秒的等待时间,否则有可能IMS首页还未加载完成,导致无法对IMS首页上的元素进行操作。

    由于以上WebElement对象仅使用了一次,因此可以简化代码,比如将:

    WebElement username = driver.findElement(By.cssSelector("input[type='text']"));username.sendKeys("zhangsan");

    修改为:

    driver.findElement(By.cssSelector("input[type='text']")).sendKeys("zhangsan");

    除了以上介绍的sendKeys、click和getText方法,WebElement对象还可以进行更多操作,比如isSelected、isEnabled和isDisplayed方法分别用于检验元素是否选中、检验元素是否启用和检验元素是否显示。

     在实际项目中,经常需要遍历一组元素,并从该组元素中找到指定需求的某个元素。比如登录IMS后,在IMS首页的列表中查找是否存在MacBook Air电脑:

    List goods = driver.findElementsByCssSelector("tbody > tr");boolean exist = false;for (WebElement good : goods) {    if (good.findElement(By.className("el-table_1_column_2")).getText().equals("MacBook Air")) {        exist = true;        break;    }}assert exist;

    Python的WebElement对象不同,Java的WebElement对象并没有类似find_element_by_class_name的快捷方法,因此只能使用findElement方法来定位单个元素。

    展开全文
  • 在HTML中, 节点有三种常见属性, 分别是id, name和class, 其中class是一个特殊的属性, 支持多个类名, 以空格隔开, 如下图所示: 你是否注意到, 为什么...首先我们要区分class属性和class_name的区别, 节点的class...
  • 一、API定位1、根据ID:根据id的唯一性来获取元素2、根据元素的name属性来获取元素,会存在不唯一的情况3、tagName:根据元素的标签名来获取元素,常用会有多个相同的tagName元素,例如input;无法详细定位,不建议...
  • class属性中间的空格并不是空字符串,那是间隔符号,表示的是一个元素有多个class的属性名称 html学习链接 http://www.runoob.com/html/html-attributes.html 定位方法 1.使用css选择器定位 driver.find_...
  • 复合属性。设置对象的背景特性。 height 尺寸属性 1 2649 设置元素的高度 left 定位属性 2 2292 设置定位元素左外边距边界与其包含块左边界之间的偏移 width 尺寸属性 ...
  • direction属性flex-wrap属性justify-content属性align-items属性align-self属性,用于单个元素flex-grow属性flex-shrink属性flex-basis属性复合写法flex的用法order属性 flex 弹性盒子 用弹性盒子来实现居中 传统...
  • 文章目录一、css选择器二、 css复合选择器三、css 字体,文本,背景四、盒子模型 content /padding /border /margin五、display属性六、浮动 Float七、清除浮动 clear八、溢出处理 overflow九、定位网页元素 position...
  • 盒子模型(CSS重点) ...能利用边框复合写法给元素添加边框 能计算盒子的实际大小 能利用盒子模型布局模块案例 1.看透网页布局的本质 网页布局中,我们是如何把里面的文字,图片,按照美工给我们的效果图排列的整
  • 2、如果用xpath healper确定能定位元素,但是跑用例的时候还是报元素不可见异常,这可能是由于用@class属性定位,特别是class中含有复合类的定位时,也可能会报这个错误,这时可以用其它标签或属性定位,也...
  • html 328

    2018-03-28 22:19:00
    1.css复合选择器 1.标签指定式选择器 2.后代选择器 3.并集选择器 2.css层叠性和继承性 ... 1.... 边框属性 外边距属性 内边距属性北京属性定位属性布局属性元素宽高属性 3.css...
  • CSS知识点整理 CSS简介 CSS语法规范 代码风格 CSS引入方式 CSS元素显现方式 选择器 简单选择器 复合选择器 字体 文本 背景属性 字体属性 文本属性 背景属性 盒子模型 浮动 定位
  • CSS总结

    2019-11-23 20:24:57
    css个人总结简介基本语法引入方式盒子模型选择器常见文本样式以及复合样式改变行,块元素属性标签显示与隐藏浮动定位@media query 媒体查询CSS3 简介 基本语法 引入方式 盒子模型 选择器 常见文本样式以及复合样式...
  • 班级名称 查找其类名包含搜索值的元素(不允许使用复合类名) CSS选择器 找到与CSS选择器匹配的元素 ID 查找其ID属性与搜索值匹配的元素 名称 找到其NAME属性与搜索值匹配的元素 连结文字 查找可见文本与搜索值匹配...
  • HTML+CSS

    2019-02-28 21:32:48
    块级元素与行内元素4盒模型4.1display4.2行内元素之间水平margin 和 块元素之间垂直margin4.3 数字属性表示4.4元素的高度和宽度(参考盒模型图)4.5元素之间的距离5定位5.1标准流(position默认值)5.2绝对定位5.3相对...
  • CSS 背景属性(重点) 背景色半透明 css三大特性 盒子模型 行内块元素和块元素的居中方法 ps基础操作 css3边框 css定位 定位 相对定位 relative 绝对定位 css css选择器 标签选择器 id,#{} 类选择器 .{} 通配符选择...
  • CSSHTML概念基本语法标签学习文件标签文本标签图片标签列表标签链接标签div、span标签语义化标签表格标签表单标签特殊字符表CSS概念CSS与html的结合语法格式选择器基础选择器复合选择器:选择器优先级属性字体文本...
  • 第9章 大小、定位、轮廓相关属性 250 9.1 width、height相关属性 251 9.2 定位相关属性 255 9.3 轮廓相关属性 257 9.4 用户界面和滤镜属性 258 9.5 本章小结 263 第10章 盒模型与布局相关属性 264 10.1 盒...
  • css选择器学习

    2017-06-07 22:21:41
    css3选择器分为:基本选择器,复合选择器,伪元素选择器。 一:css选择器总汇 1.1:*代表通用选择器,选择所有元素 1.2:type选择器(元素选择器),选择指定的元素 1.3:id选择器,选择指定id属性元素 ...
  • CSS基础知识大总结

    2020-04-06 02:54:24
    文章目录选择器字体外观属性编译器快捷方式导航栏案例所需技术复合选择器标签显示模式背景CSS书写顺序CSS三大特性PS工具操作盒子模型浮动浮动关系清除浮动定位定位模式叠盒子规则定位总结CSS高级技巧元素显示和隐藏...
  • CSS基础整理

    2021-01-09 00:48:43
    CSS基础*选择器*基础选择器1_ id选择器2_ class选择器(类选择器)3_ 标签选择4_ 通配选择器 *复合选择器1_ 元素关系选择器2_ 伪类选择器3_ 序号选择器(结构性伪类选择器)4_ 属性选择器(不常用)5_ 状态伪类选择器6...
  • 15.1.1 绑定HTML元素属性 15.1.2 绑定DOM对象属性 15.1.3 事件处理函数和关键字this 15.1.4 使用返回值改变默认行为 15.1.5 在代码中触发事件 15.2 Internet Explorer的事件模型 15.2.1 使用script for绑定 ...
  • IE8兼容问题: 1)IE8下图片边框问题: img{ border: none; } 2)IE8中背景复合属性写法问题 3)IE低版本浏览器的透明度设置问题 4)指定鼠标指针形状为手型, 并兼容所有浏览器 ...7)IE7中子元素相对定位,父元...
  • 接着,深入探讨了浏览器文档对象模型的发展,详细介绍了JavaScript对象的有关知识,包括对象的属性、方法和事件处理程序等内容。最后,细致地讲述了JavaScript核心语言,包括String,Math,Date和Array等核心对象...
  • css(二)之选择器

    2020-01-29 20:01:34
    文章目录选择器基础选择器标签选择器类选择器id选择器通配符选择器属性选择器复合选择器后代选择器子选择器并集选择器伪类选择器链接伪类选择器focus伪类选择器 选择器 在网页中需要选择相应的标签进行样式的修改,...
  •  14.7 作为Window对象属性的文档元素351  14.8 多窗口和窗体353  第15章 脚本化文档361  15.1 DOM概览362  15.2 选取文档元素364  15.3 文档结构和遍历371  15.4 属性375  15.5 元素的内容378  15.6 创建、...
  • 14.7 作为Window对象属性的文档元素 14.8 多窗口和窗体 第15章 脚本化文档 15.1 DOM概览 15.2 选取文档元素 15.3 文档结构和遍历 15.4 属性 15.5 元素的内容 15.6 创建、插入和删除节点 15.7 例子:生成目录表 15.8 ...
  • 图库由符号和模块两种不同形式的复合元素组成。 符号和模块均能由用户创建并进行管理。 支持用户扩展符号属性。 用户制作好的符号可以直接拖放到符号库中保存。 可以把制作好的画面以模块...

空空如也

空空如也

1 2 3
收藏数 59
精华内容 23
关键字:

复合元素属性定位