📅  最后修改于: 2023-12-03 15:42:10.024000             🧑  作者: Mango
Selenium 是一个自动化测试工具,可用于验证 Web 应用程序的功能及使用。Python 是一种流行的编程语言,其中包括用于自动化 Selenium 的库。
在 Python 项目中使用 Selenium 需要先安装 selenium 库。
pip install selenium
Selenium 通过驱动程序来控制浏览器。为了在 Python 中使用 Selenium ,我们需要使用 ChromeDriver。(如果你使用的不是 Chrome 浏览器,你需要下载你使用浏览器的驱动程序。)
from selenium import webdriver
driver = webdriver.Chrome()
Selenium 的一个重要功能是可以找到网页中的元素。
# 通过 ID
element = driver.find_element_by_id("element_id")
# 通过 Name
element = driver.find_element_by_name("element_name")
# 通过 Class Name
element = driver.find_element_by_class_name("element_class")
# 通过标签名称
element = driver.find_element_by_tag_name("element_tag")
# 通过 CSS Selector
element = driver.find_element_by_css_selector("#element_id")
# 通过 XPath
element = driver.find_element_by_xpath("//div[@id='element_id']")
当你找到一个元素,你可以执行许多操作:
# 点击元素
element.click()
# 填写输入框
element.send_keys("input_text")
# 获取元素文本
text = element.text
# 获取元素属性
attribute = element.get_attribute("attribute_name")
# 获取元素位置、大小、可见性
location = element.location
size = element.size
is_displayed = element.is_displayed()
当你处理多个窗口或框架时,你需要切换它们。
# 切换到新窗口
driver.switch_to.window(driver.window_handles[-1])
# 切换回原来窗口
driver.switch_to.window(driver.window_handles[0])
# 切换到新的 iframe
frame = driver.find_element_by_tag_name("iframe")
driver.switch_to.frame(frame)
# 切换回父级 frame
driver.switch_to.parent_frame()
# 切换回默认 content
driver.switch_to.default_content()
Selenium 允许我们执行 JavaScript。
# 执行 JavaScript
driver.execute_script("alert('Hello, world!');")
你可以使用内置的 Python unittest 模块来编写和运行测试。
import unittest
from selenium import webdriver
class MyTestCase(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
def test_search_for_google(self):
self.driver.get("https://www.google.com/")
self.assertIn("Google", self.driver.title)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
以上是一些 Selenium Python 的基础操作,希望能对你有所帮助。