调用JS语法需要用到selenium中的方法 execute_script() ,参数直接填写JS语法。
# 1、通过元素id属性,获取元素 document.getElementById('id'); # 2、通过元素name属性,获取元素列表 document.getElementsByName(‘name’); # 3、通过标签名,获取元素列表 document.getElementsByTagName(‘tag_name’); # 4、通过类名,获取元素列表 document.getElementsByClassName(“class_name”); # 5、通过选择器,获取一个元素 document.querySelector(“css selector”) # 6、通过CSS选择器,获取元素列表 document.querySelectorAll(“css selector”)
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.baidu.com') js1 = "document.getElementById('kw').value='测试-安静博客园'" driver.execute_script(js1) time.sleep(2) js2 = 'document.getElementById("su").click()' driver.execute_script(js2)
# 修改元素属性 document.getElementById("id").setAttribute("属性名","属性值")
1、删除属性 # 删除属性 document.getElementById("id").removeAttribute("属性值") 2、获取属性 # 获取元素属性值 document.getElementById("id").getAttribute(属性值) # 如果想要获取js返回的属性值,需要js前加return js2 = ‘return document.getElementById(“anjing”).getAttribute(“name”)’ x = driver.execute_script(js2) print(x) 3、修改属性值 # 修改属性值 document.getELementById("id").属性="属性值"
标签:python,元素,selenium,js,获取,getElementById,document,id,属性 From: https://www.cnblogs.com/buchi-baicai/p/17385682.html