📜  Selenium WebDriver-WebElement命令(1)

📅  最后修改于: 2023-12-03 15:05:08.775000             🧑  作者: Mango

Selenium WebDriver-WebElement命令

Selenium WebDriver是一种流行的自动化测试框架,它允许程序员使用各种编程语言(如Java、Python和C#等)以编写自动化测试用例。其中WebElement是Selenium WebDriver中的重要概念,表示在Web页面上定位的HTML元素。

WebElement命令列表

以下是一些最常用的WebElement命令:

查找元素

在使用WebDriver控制浏览器时,第一步通常是查找元素。可以使用以下几种查找元素的方法:

  • find_element_by_id:根据ID查找元素
  • find_element_by_name:根据名称查找元素
  • find_element_by_xpath:根据XPath表达式查找元素
  • find_element_by_link_text:根据链接文本查找元素
  • find_element_by_partial_link_text:根据链接文本的一部分查找元素
  • find_element_by_tag_name:根据标签名称查找元素
  • find_element_by_class_name:根据类名查找元素
  • find_element_by_css_selector:根据CSS选择器查找元素

元素操作

查找到元素之后,可以使用以下方法对元素进行操作:

  • click():单击元素
  • send_keys(keys):输入文本
  • clear():清除元素文本
  • text:获取元素的文本内容

等待元素

有时需要等待元素出现或消失后再进行后续操作。可以使用以下方法进行等待:

  • implicitly_wait(time_to_wait):隐式等待时间,等待指定时间,如果元素在该时间内出现,则立即执行后续操作。如果元素在该时间内没有出现,则抛出异常。
  • WebDriverWait(driver, timeout).until(EC.visibility_of_element_located((By.[location type], "locator"))):显式等待时间,等待指定时间,直到元素可见,然后继续执行后续操作。
示例代码

查找元素、操作元素及等待元素的示例代码如下:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 创建WebDriver实例
driver = webdriver.Chrome()

# 显式等待时间
wait = WebDriverWait(driver, 10)

# 打开网页
driver.get("http://www.baidu.com")

# 根据名称查找元素
search_box = driver.find_element_by_name("wd")

# 输入搜索关键字
search_box.send_keys("Selenium")

# 单击搜索按钮
search_box.submit()

# 等待搜索结果出现
search_result = wait.until(EC.visibility_of_element_located((By.XPATH, '//div[@id="content_left"]/div[1]/h3/a')))

# 获取搜索结果文本
result_text = search_result.text

# 打印搜索结果文本
print(result_text)

# 关闭浏览器
driver.quit()

以上代码演示了使用Chrome浏览器、在百度搜索引擎上搜索Selenium关键字、等待搜索结果出现并打印搜索结果文本的完整流程。