📅  最后修改于: 2023-12-03 15:05:08.775000             🧑  作者: Mango
Selenium WebDriver是一种流行的自动化测试框架,它允许程序员使用各种编程语言(如Java、Python和C#等)以编写自动化测试用例。其中WebElement是Selenium WebDriver中的重要概念,表示在Web页面上定位的HTML元素。
以下是一些最常用的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关键字、等待搜索结果出现并打印搜索结果文本的完整流程。