Selenium系列教程 - 番外篇 js定位

345 阅读1分钟

主要内容

前言

    我们除了可以使用selenium的方法定位元素外,还可以通过js来定位,以下总结了几种常用的js定位方法:

1. 定位单个元素

  a. 通过id定位

    document.getElementById("id")

  b. 通过css选择器定位

    document.querySelector("css selector")


2. 定位一组元素

  a. 通过name定位

    document.getElementsByName("Name")

  b. 通过标签名定位

    document.getElementsByTagName("tag")

  c. 通过class类定位

    document.getElementsByClassName("class")

  d. 通过css选择器定位

    document.querySelectorAll("css selector")


示例代码

# 示例 1
##############################################
import time
from selenium import webdriver


driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)

driver.get("http://www.baidu.com/")
# 通过js返回元素,然后通过selenium输入文本
js = "return document.getElementById('kw')"
element = driver.execute_script(js)
element.send_keys('hwijew')

time.sleep(2)
driver.quit()
# 示例 2
##############################################
import time
from selenium import webdriver


driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)

driver.get("http://www.baidu.com/")
# 通过js定位元素并输入文本
js = "document.getElementById('kw').value='hwijew'"
element = driver.execute_script(js)

time.sleep(2)
driver.quit()

在这里插入图片描述


在这里插入图片描述