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()