欢迎光临
我们一直在努力

selenium定位元素失败,selenium定位元素优先级

Selenium定位网页元素只要是通过元素的属性值或者元素在HTML里的路径位置定位方式一共有8种

定位方式代码属性idfind_element_by_id()属性namefind_element_by_name()HTML标签类型find_element_by_tag_name()属性classfind_element_by_class_name()标签值find_element_by_link_text()标签值模糊匹配find_element_by_partial_link_text()元素的路径定位选择器find_element_by_xpath()元素的路径定位选择器find_element_by_css_selector()

以上8种定位都只能定位一个元素如果有多个相同的元素那么会定位到第一个元素。
其中挑几个重点讲一下
1.id和name在一个页面往往是唯一的所以他们的定位准确度较高。2.classname和tagname一般是被很多个元素使用如果要定位单一元素的话慎用毕竟你也很难看出来你需要的元素是不是第一个。
3.linktest一般是用来定位某些超链接的因为超链接的text比较唯一比如百度主页上方的超链接。

同时加个partial就可以实现模糊匹配比如要匹配新闻这个链接就只需要一个‘新’就可以了当然如果有多个元素含有‘新’就只能定位到第一个了。
4.xpath和css_selector前者是定位选择器后者是通过标签的路径来实现定位两者的定位准确的都非常高但是一但HTML代码发现更改就几乎无法复用。同时说一下怎么获取一个元素的xpath和css_selector
CtrlF12后在Elements中选取自己想要定位的HTML元素然后右键就可以点击copycopy想要copy的内容了。

上述的都只能定位一个元素如果要定位很多个相同的元素就需要换用一下的方式了其实就是element加了个s

美国高防vps 定位方式代码属性idfind_elements_by_id()属性namefind_elements_by_name()HTML标签类型find_elements_by_tag_name()属性classfind_elements_by_class_name()标签值find_elements_by_link_text()标签值模糊匹配find_elements_by_partial_link_text()元素的路径定位选择器find_elements_by_xpath()元素的路径定位选择器find_elements_by_css_selector()

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。