重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

WebDriver的几种定位方式介绍-创新互联

  1. 通过ID查找元素

    创新互联建站是专业的农安网站建设公司,农安接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行农安网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

通过页面元素的ID来查找元素是最为推荐的方式。W3C标准推荐开发人员为每一个页面元素都提供一个独一无二的ID元素,因此开发人员应避免单个页面上的所有元素存在ID不唯一的情况和元素ID是自动生成的情况。

页面元素的ID被作为选的识别属性,因为这是最快的识别策略。

driver.findElement(By.id("Title")).sendKeys("test content");//如果需要,可用WebElement先存储起来, 然后再进行相应操作。

  2.通过Name查找元素

  WebElement searchBox = driver.findElement(By.name("wd"));

  searchBox.sendKeys("java");

  searchBox.submit();//提交

  3.通过ClassName查找元素

  4.通过TagName查找元素

与前述几个方式略有不同。其原因是同一个页面上具有相同TagName的元素可能一个都没,也可能有多个。因此建议在使用TagName为查找元素的条件时,使用findElements()来替代findElement()函数。

    List scriptList = driver.findElements(By.tagName("script"));

        System.out.println("There are "+scriptList.size()+" scripts on Xiaomi's page!");

  5.通过LinkText查找元素

eg.提交

    WebElement aboutGenExam = driver.findElement(By.linkText("提交"));

        aboutGenExam.click();

  6.通过PartialLinkText查找元素

如上,百度页面下方有“关于百度”的链接地址,其HTML代码如上,可通过anchor上的部分文本信息来查找该元素并进行操作, 如通过“关于”二字来查找该链接地址。

    driver.get("www.baidu.com");

        WebElement aboutLink = driver.findElement(By.partialLinkText("关于"));

        aboutLink.click();

findElement()方法只会返回页面上第一个满足partialLinkText为“关于”的元素。如果希望找到页面上所有包含部分文本为"关于"的链接元素,则使用findElements()方法来替代。

  7.使用CSS选择器查找元素

eg.需根据实际情况来判断。

    WebElement about = driver.findElement(By.cssSelector("#lsb-id"));

        aboutLink.click();

  8.通过Xpath查找元素

   xpath很强悍,但定位性能不是很好,所以还是尽量少用。如果确实少数元素不好定位,可以选择xpath或cssSelector。

  9.通过JQuery查找元素(p34-39)

  JQuery允许开发人员通过简单的步骤快速识别页面上的元素。在使用JQuery简化Selenium查找元素之前 ,需要首先确认页面是否已经加载了JQuery库。在这里分情况进行阐述,一种情况是页面本身已经加载了JQuery库,另一种情况是页面本身并没加载JQuery库。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:WebDriver的几种定位方式介绍-创新互联
网站地址:http://cqcxhl.com/article/ccoddi.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP