selenium(15):使用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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM