以前做自动化测试,用selenium2做过项目,最近重新温习一下selenium,学的是selenium4,selenium的最新版本。
定位元素可以有8种方法,通过ID,NAME,CLASS_NAME、CSS_SELECTOR、XPATH等定位。最常用的是CSS_SELECTOR、XPATH。
今天首先学习了通过ID和class_name的方法定位。
代码如下:
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
driver = webdriver.Chrome() #通过webdriver打开浏览器
driver.maximize_window() #最大化窗口
driver.get("https://www.baidu.com") #进入到url
driver.find_element(By.ID,'kw').send_keys("selenium") #找到id为kw的输入框,并输入selenium
driver.find_element(By.ID,'su').click() #找到id为su的按钮,并点击按钮
#如果有多个元素用同样的class,用find_elements(class_name)[2].click()加下标的方式
driver.find_elements(By.CLASS_NAME,'aust')[2].click()
#如果有一个标签元素有多个class,用空格隔开,在定位元素时不能把多个class都写进来用空格隔开,需要用唯一的一个class。
#driver.find_element(By.CLASS_NAME,'aust bbus').click() #这种写法是错误的
driver.find_element(By.CLASS_NAME,'bbus').click() #这种写法是正确的
sleep(3) #停3s
driver.quit() #selenium4没有这句,浏览器也会自动关闭。selenium2和3没有这句不会关闭浏览器。