Python Selenium 中的 WebDriver API

2023-04-17 00:00:00 python api selenium
  1. 打开网页(get)
    可以使用get()方法在WebDriver中打开网站。
from selenium import webdriver
import time
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 等待一段时间
time.sleep(5)
# 关闭浏览器
driver.quit()
  1. 定位元素(find_element)
    使用find_element()方法来定位元素,该方法可以通过id、name、class name、tag name、link text、partial link text、xpath或CSS selector来定位元素。
from selenium import webdriver
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 通过id找到元素
elem = driver.find_element_by_id("logo")
# 打印元素的HTML代码
print(elem.get_attribute("outerHTML"))
# 关闭浏览器
driver.quit()
  1. 输入文本(send_keys)
    可使用send_keys()方法在一个输入框里输入文本。
from selenium import webdriver
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 通过id找到输入框
elem = driver.find_element_by_id("search")
# 输入关键字
elem.send_keys("皮蛋编程")
# 关闭浏览器
driver.quit()
  1. 提交表单(submit)
    可以使用submit()方法提交表单。
from selenium import webdriver
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 通过id找到输入框
elem = driver.find_element_by_id("search")
# 输入关键字
elem.send_keys("皮蛋编程")
# 提交表单
elem.submit()
# 关闭浏览器
driver.quit()
  1. 点击按钮(click)
    可使用click()方法点击按钮或链接。
from selenium import webdriver
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 通过link text找到链接
elem = driver.find_element_by_link_text("关于我们")
# 点击链接
elem.click()
# 关闭浏览器
driver.quit()
  1. 获取元素属性(get_attribute)
    使用get_attribute()方法可以获取元素的属性值。
from selenium import webdriver
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 通过id找到输入框
elem = driver.find_element_by_id("search")
# 打印输入框的属性值
print(elem.get_attribute("type"))
# 关闭浏览器
driver.quit()
  1. 获取元素文本(text)
    使用text属性可以获取元素的文本内容。
from selenium import webdriver
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 通过link text找到链接
elem = driver.find_element_by_link_text("关于我们")
# 打印链接的文本内容
print(elem.text)
# 关闭浏览器
driver.quit()
  1. 暂停(sleep)
    可以使用time.sleep()方法让程序等待一段时间。
from selenium import webdriver
import time
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 等待5秒钟
time.sleep(5)
# 关闭浏览器
driver.quit()
  1. 将鼠标移动到指定元素(move_to_element)
    可使用move_to_element()方法将鼠标移动到指定元素上。
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定URL的网页
driver.get("http://www.pidancode.com")
# 通过id找到元素
elem = driver.find_element_by_id("nav-E4axP4quv6ZYLW6g")
# 将鼠标移动到元素上
ActionChains(driver).move_to_element(elem).perform()
# 关闭浏览器
driver.quit()
  1. 打开新的标签页(execute_script)
    使用execute_script()方法可以在当前标签页中打开新的标签页。
from selenium import webdriver
# 创建一个Chrome浏览器对象
driver = webdriver.Chrome()
# 发起GET请求,打开指定的URL网页
driver.get("http://www.pidancode.com")
# 执行JS脚本,在当前标签页中打开新的标签页
driver.execute_script("window.open('http://www.baidu.com');")
# 关闭浏览器
driver.quit()

相关文章