特殊属性: readonly只读

style="display:none" 不可见

disabled 不可编

driver.execute_script("arguments[0].removeAttribute('******')",***)改变属性

ele=driver.find_element(By.XPATH,"//input[@name='promote_end_date']") driver.execute_script("arguments[0].removeAttribute('readonly')",ele) ele.clear() ele.send_keys("2025-06-26") 只读的日历处理方式

ele = driver.find_element(By.XPATH, "//select[@name='cat_id']") # 添加@符号 sel = Select(ele) sel.select_by_index(2) # 索引应为整数,且使用正确的变量名 sel.select_by_value("2") sel.select_by_visible_text('手机类型') 下拉框的处理方式 

让浏览器不自动关闭
import time 
from selenium import webdriver 
 #解决让浏览器不自动关闭 
options = webdriver.ChromeOptions() 
options.add_experimental_option("detach",True) 
#创建戉浏览器对象 
driver = webdriver.Chrome(options=options) 
driver.get("https://www.baidu.com")
ele_list=driver.find_elements(By.XPATH,"//img[@src='images/icon_trash.gif']")
ele_list[0].click()
time.sleep(4)
ale=driver.switch_to.alert
ale.accept()     定位一组元素

.Alert弹窗

1 ale = driver.switch_to.alert

2 ale.accept()

3 #ale.dismiss()

文件上传

driver.find_element(By.XPATH,"//input[@name='goods_img']").send_keys(r"C:\Users\Michaelcc\Desktop\我的\1.png")

XPATH搜索方式

1.绝对路径,以/开头 /html/body/form/table/tbody/tr/td[2]/table/tbody/tr[1]/td[2]/input(从第一个标签到定位的标签)

2.相对路径,以//开头

相对路径+索引定位://input[2]

相对路径+属性定位: 单属性定位://input[@name="username"] //input[@type="submit"] 多属性定位://input[@type="submit" and value="进入管理中心"]

相对路径+部分属性定位: //input[starts-with(@value="进入")] //input[contains(@value="管理")]

相对路径+文本值定位:(替换LINK_TEXT,PARTIAL_LINK_TEXT) //a[text()="商品列表"](标签中间的文本)

相对路径+通配符定位: //*[text()="商品列表"] //*[@type="submit"]

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐