from selenium import webdriver import time driver= webdriver.Chrome() # 访问网址 driver.get("http://127.0.0.1:8088/login") # 元素定位的第二种方式,根据name属性定位(找到登录输入框并输入账户密码) driver.find_element_by_name("username").send_keys("libai") driver.find_element_by_name("password").send_keys("opmsopms123") # 根据元素的第三种方式,根据class属性定位。若class属性有空格,证明是复合类,多个值以空格区分 # 登录按钮的 class="btn btn-lg btn-login btn-block" ;class中的这些属性有空格,证明是复合属性,检验4个属性都是唯一的,用那个属性都可以 # 选中属性并点击 driver.find_element_by_class_name("btn-login").click() time.sleep(3) # 点击项目管理按钮,根据css表达式定位找到并click()点击 driver.find_element_by_css_selector( "body > section > div.left-side.sticky-left-side > " "div.left-side-inner > ul > li:nth-child(2)").click() # 匹配页面上每一个项目名称(列表页面,有多个项目名称) ele = driver.find_elements_by_css_selector("#project-form-list > table >tbody > tr > td:nth-child(1)") print(type(ele)) 返回的是列表 """ 此种方式,匹配页面元素,返回的是一个列表 若页面上,只有一个能匹配成功的,则返回一个元素列表,列表里只有一个 若页面上,有多个匹配成功的,则返回一个元素列表,列表里是一个个匹配成功的元素 若页面上,没有能匹配到的,则返回一个元素列表,列表是空的 基于此特性,我们可以用来判断元素存不存在: 写一个元素的唯一定位表达式,然后用此种匹配元素列表的方式去进行寻找 判断元素列表是否为空,若为空,则元素不存在,反之存在 """