selenium元素定位方法find

selenium元素定位方法find,第1张

selenium元素定位方法find 传统八大定位方法
from selenium import webdriver

八中定位方法

driver.find_element_by_id(‘id’)
driver.find_element_by_name('name')
driver.find_element_by_tag_name('tag_name')
driver.find_element_by_xpath('xpath')
driver.find_element_by_link_text('link_text')
driver.find_element_by_class_name('class_name')
driver.find_element_by_css_selector('css_selector')  # 需要掌握css语法
driver.find_element_by_partial_link_text('partial_link_text')

如果是获取多个,则需要在element后边加s,使用find_elements_by_xx。
使用以上这八种方式,如果使用的是最新版本的selenium,可能会产生warning警告。提示以上方法即将被废弃。

find_element()与find_elements()

作为一种解决办法,可以替换成下边这种方式,直接使用find_element()方法:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver.find_element(By.xxx, '')

find_element()有两个参数,第一个是定位的方法,第二个是定位的内容。
传统的八种方法底层也是使用find_element()方法写的。
定位一个元素时使用find_element(),定位多个元素时使用find_elements()。

具体示例:

以定位百度搜索框为例

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 通过id定位,网页元素的id通常是唯一的
driver.find_element(By.ID, 'kw').send_keys('xxxx')
# 通过类名定位元素
driver.find_element(By.CLASS_NAME, 's_ipt').send_keys('xxx')
# 根据name属性的值来定位元素
driver.find_element(By.NAME, 'wd').send_keys('xxx')
# 根据xpath语法来定位元素
driver.find_element(By.XPATH, '//input[@id="kw"]').send_keys('xx')

用的最多的是

By.IDBy.CLASS_NAMEBy.XPATH

这三个。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5710854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存