看视频的时候发现好多视频使用的还是老版的元素定位方法,但是对于新版Python来说,已经弃用了之前的元素定位方法,所以在使用的时候会发现有报错,会被一条横线划掉。重新整理了一下目前使用的元素定位方法:driver.find_element(By.'方式', "xxx")
需要导入By包:
from selenium.webdriver.common.by import By
8种元素定位方式(各举一例):
- id
driver.find_element(By.ID, "username")
- name
driver.find_element(By.NAME, "keyword")
- class_name
driver.find_element(By.CLASS_NAME, "login_btn")
- tag_name
driver.find_element(By.TAG_NAME, "select")
- link_text
driver.find_element(By.LINK_TEXT, "进入商城购物")
- partial_link_text
driver.find_element(By.PARTIAL_LINK_TEXT, "人资")
- xpath
driver.find_element(By.XPATH, "/html/body/div[3]/div[2]/div[3]/div/div[1]/a/img")
- css_selector
driver.find_element(By.CSS_SELECTOR, '[value="1"]')
优缺点:
- id 和 name:
- class_name 和 tag_name:
- 优:几乎所有元素都有class_name 和 tag_name
- 缺:class 和 tag的值往往不是唯一,很难精准的找到一个元素。
- link_text 和 partial_link_text:
- xpath 和 css_selector:
❥(^_-):要是觉得有用就点个赞呀
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。