📜  Selenium Python中的元素方法(1)

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

Selenium Python中的元素方法

Selenium 是一套用于 Web 应用测试的工具,它支持多种浏览器,包括 Google Chrome、Mozilla Firefox、Safari 等,也可以在多种操作系统上运行。Selenium Python 是 Selenium 的 Python 语言版本,用于让 Python 开发者更方便地进行 Selenium 测试。

本文将介绍 Selenium Python 中的元素方法,它们用于定位网页元素,如按钮、文本框、下拉框等。

WebDriver.find_element_by_id(id)

该方法根据元素 ID 查找网页元素。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_id("kw")
element.send_keys("Selenium Python")
WebDriver.find_element_by_name(name)

该方法根据元素 Name 查找网页元素。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_name("wd")
element.send_keys("Selenium Python")
WebDriver.find_element_by_css_selector(css_selector)

该方法根据 CSS Selector 查找网页元素。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_css_selector("#kw")
element.send_keys("Selenium Python")
WebDriver.find_element_by_xpath(xpath)

该方法根据 XPath 查找网页元素。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_xpath('//*[@id="kw"]')
element.send_keys("Selenium Python")
WebDriver.find_element_by_class_name(class_name)

该方法根据 Class Name 查找网页元素。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_class_name("s_ipt")
element.send_keys("Selenium Python")
WebDriver.find_element_by_link_text(link_text)

该方法根据链接文本查找网页元素。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_link_text("图片")
element.click()
WebDriver.find_element_by_partial_link_text(partial_link_text)

该方法根据链接文本的一部分查找网页元素。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_partial_link_text("地图")
element.click()
WebDriver.find_element_by_tag_name(tag_name)

该方法根据 HTML 标签名称查找网页元素。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_tag_name("button")
element.click()
WebDriver.find_elements_by_*

以上方法使用 find_element_by_* 定位单个元素,如果要定位多个元素,则需要使用 find_elements_by_* 方法。例如要定位所有的链接:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

elements = driver.find_elements_by_tag_name("a")
for element in elements:
    print(element.get_attribute("href"))
其他方法

除了以上介绍的方法之外,还有一些其他常用的元素方法,例如:

  • clear():清空文本框内容
  • submit():提交表单
  • text:网页元素文本内容
  • get_attribute(name):获取指定属性值
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

element = driver.find_element_by_id("kw")
element.send_keys("Selenium Python")
element.submit()

result_element = driver.find_element_by_css_selector("#container > h3")
print(result_element.text)

driver.quit()

以上就是 Selenium Python 中的元素方法介绍,希望对你有所帮助!