PYTHON开发:selenium模块Web定位元素函数

2023-03-1514:11:33编程语言入门到精通Comments770 views字数 2135阅读模式

常见定位元素的接口函数以及推荐指数

1.selenium.webdriver.Chrome().find_element_by_id()----------根据元素的id这个属性的取值来定位元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

PYTHON开发:selenium模块Web定位元素函数

find_element_by_id("kw")就可以定位到input这个元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

推荐指数:★★★文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

理由:一个页面上出现两个id取值一样的的元素就尴尬了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html


2.selenium.webdriver.Chrome().find_element_by_name()----------根据元素的name这个属性的取值来定位元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

PYTHON开发:selenium模块Web定位元素函数

find_element_by_name("wd")就可以定位到input这个元素了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

推荐指数:★★文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

理由:大部分元素并没有被开发赋予name这个属性,如果一个页面上出现name取值一样的元素就尴尬了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html


3.selenium.webdriver.Chrome().find_element_by_tag_name()-----------根据元素的本身名称来定位元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

PYTHON开发:selenium模块Web定位元素函数

find_element_by_tag_name("input")就可以定位到input这个元素了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

推荐指数:★文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

理由:一个页面出现名称一样的元素是肯定的事情,用元素名称定位真的是太傻了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html


4.selenium.webdriver.Chrome().find_element_by_class_name()----------根据元素的class这个属性的取值来定位元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

PYTHON开发:selenium模块Web定位元素函数

find_element_by_class_name("s_ipt")就可以定位到input这个元素了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

推荐指数:★★★文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

理由:一个页面出现了两个class取值一样的元素就尴尬了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html


5.selenium.webdriver.Chrome().find_element_by_xpath()-----------根据元素的任意一个属性的取值来定位该元素或者该元素的兄弟元素、父元素、子元素等。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

PYTHON开发:selenium模块Web定位元素函数

find_element_by_xpath("//span[@id='s_btn_wr']")既可以定位到id为"s_btn_wr"的span这个元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

find_element_by_xpath("//span[@id='s_btn_wr']/input")就可以定位到value为"百度一下"的input元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

find_element_by_xpath("//input[@id='su']/..")就可以定位到id为"su"的input元素的父元素,也就是id为"s_btn_wr"的span这个元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

PYTHON开发:selenium模块Web定位元素函数

find_element_by_xpath("//span[text()='创建']")就可以定位到名称为“创建”的这个span元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

find_element_by_xpath("//span[text()='创建']/../span[1]")就可以定位到style为"background-image:url"这个span元素。(子元素名称相同以1,2,3.....下标标注)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

推荐指数:★★★★★文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

理由:专治各种疑难元素的定位。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html


6.selenium.webdriver.Chrome().find_element_by_link_text()------------根据元素的在界面展现的字串来定位该元素,且该元素是可以点击触发新链接的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

PYTHON开发:selenium模块Web定位元素函数

find_element_by_link_text("syslog_lijun")就可以定位到链接元素a。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

推荐指数:★★★文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

理由:find_element_by_xpath()可以代替这个函数获取需要的元素文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

特别注意:Selenium 升级到版本 4 以后, 下面这种 find_element_by 方法都作为过期不赞成的写法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

wd.find_element_by_id('username').send_keys('byhy')
wd.find_element_by_class_name('password').send_keys('sdfsdf')
wd.find_element_by_tag_name('input').send_keys('sdfsdf')
wd.find_element_by_css_selector('button[type=submit]').click()

运行会有告警,所以现在都要写成下面这种格式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html

from selenium.webdriver.common.by import By

# 初始化代码 ....

wd.find_element(By.ID, 'username').send_keys('byhy')
wd.find_element(By.CLASS_NAME, 'password').send_keys('sdfsdf')
wd.find_element(By.TAG_NAME, 'input').send_keys('sdfsdf')
wd.find_element(By.CSS_SELECTOR,'button[type=submit]').click()
wd.find_element(By.XPATH,''//span[@id='s_btn_wr']]'').click()
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/31299.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/31299.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定