Python Selenium 中的 WebDriver API
- 打开网页(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()
- 定位元素(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()
- 输入文本(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()
- 提交表单(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()
- 点击按钮(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()
- 获取元素属性(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()
- 获取元素文本(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()
- 暂停(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()
- 将鼠标移动到指定元素(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()
- 打开新的标签页(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()
相关文章