selenium元素定位的时候,经常使用"find_element_by..."这样格式的方法,但是最近发现这种方法会出现删除线的情况(如下图),而且运行的时候会有告警
经过查资料发现,官网在2021年十月发布了selenium4,算是摒弃了上面的方法,所以才会提示删除线,另外官方也给出了规范的元素定位方法,下面简单和大家说下
下面举例的方法为官方不赞成的写法
# 初始化代码 ....
driver.find_element_by_id('username').send_keys('qjj')
driver.find_element_by_class_name('password').send_keys('asdf')
driver.find_element_by_tag_name('input').send_keys('asdf')
driver.find_element_by_css_selector('button[type=submit]').click()
Selenium4以后,官方的规范写法如下,就不会出现中划线的现象
from selenium.webdriver.common.by import By
# 初始化代码 ....
driver.find_element(By.ID, 'username').send_keys('qjj')
driver.find_element(By.CLASS_NAME, 'password').send_keys('asdf')
driver.find_element(By.TAG_NAME, 'input').send_keys('asdf')
driver.find_element(By.CSS_SELECTOR,'button[type=submit]').click()
注意 :使用这种方法需要进行By的导包
祝各位测试兄弟工作顺利~