Pythonセレンの自動化、jsを使用して要素属性を追加し、要素属性値を変更し、要素属性値を取得し、要素属性値を削除します

from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common.keys import Keys
import time

def addAttribute(driver,elementObj,attributeName,value):
    #给元素新增属性,driver浏览器,elementObj元素,attributeName属性名字,value属性值
    #arguments[0]获取elementObj的值,arguments[1]获取value的值,%s获取attributeName的值
    #实际的表达式为driver.execut_script("elementObj.attributeName=value")
    driver.execute_script("arguments[0].%s=arguments[1]" %attributeName,elementObj,value)

def setAttribute(driver,elementObj,attributeName,value):
    #更改元素的属性的值
    driver.execute_script("arguments[0].setAttribute(arguments[1],arguments[2])",elementObj,attributeName,value)

def getAttribute(elementObj,attributeName):
    #获取元素的属性的值
    return elementObj.get_attribute(attributeName)

def removeAttribute(driver,elementObj,attributeName):
    #删除元素的属性的值
    driver.execute_script("arguments[0].removeAttribute(arguments[1])",elementObj,attributeName)

driver=webdriver.Chrome()
url='http://127.0.0.1/test_change_attr.html'
driver.get(url)
time.sleep(2)

element=driver.find_element_by_xpath('//input')
addAttribute(driver,element,'name','search') #给元素增加属性
time.sleep(2)

setAttribute(driver,element,'value','abcde') #更改元素的属性值
time.sleep(2)

setAttribute(driver,element,'size',20) #更改元素的属性值
time.sleep(2)

removeAttribute(driver,element,'value') #删除元素的属性的值
time.sleep(2)
driver.quit()

おすすめ

転載: blog.csdn.net/weixin_44123630/article/details/113837250
おすすめ