selenium 获取href find_element_by_xpath

查询多级目录,中间用*链接:

name_cache = driver.find_element_by_xpath("//div[@class='company-list']/*/div[@class='card']")

首先

Xpath (XML Path Language),是W3C定义的选择节点的语言

第一种:绝对位置:

   此方法比较简单,例子:

         xxx.find_element_by_xpath("/html/body/div[x]/form/input")

         //x 代表第x个 div标签(索引从1开始而不是0)

        当页面元素位置发生改变时,需要修改

第二种:相对位置:

   举例:

        xxx.find_element_by_xpath("//div[@class='meneame']/a")

        //定义class名字为meneame的div下的a标签

第三种:按照标签的属性进行定位:

    举例:

        xxx.find_element_by_xpath("//div[@class='meneame']")

        //定义class名字为meneame的div标签

第四种:选择第几个:

      //div/*[2]    选择div下第二个元素

     //div/p[position()>=2]         选择div下位置大于等于2的p标签

     //div/p[last()]    选择div下最后一个p标签

第五种:并:

      //div[@id='a' and @name='b']     选择id=a 并 class=b的div元素

第六种:父节点:

     //div[@id='a']/..    选择目标div的父节点

第七种:同级节点:

     preceding-sibling选取当前节点之前的所有同级节点

     following-sibling选取当前节点之后的所有同级节点

     用法:

          //div/following-sibling::p    选择div之后的同级的p节点   (div与p同级)
 

在使用selenium进行抓取url的时候,试图使用find_elements_by_xpath来获取。
因此想当然的直接使用XPATH的语法进行获取属性
事例缩略后xml结构如下


你可能感兴趣的:(python基础,selenium,python)