【Python】从0开始写脚本

【Python】从0开始写脚本

XXXXXXXXXXXXXXX

2025-06-29 发布95 浏览 · 0 点赞 · 0 收藏

安装selenium

在pycharm终端运行如下命令

pip install selenium==4.3.0

pip list

配置浏览器驱动

下载浏览器驱动这里给出各浏览器(Chrome、Firefox、Edge等)的驱动下载地址,自行下载所需浏览器驱动
image.png
将下载好的浏览器驱动放置在Python安装目录下(即Python环境变量配置目录)
image.png

脚本测试

这里是一个简单的脚本可以打开浏览器,三秒后关闭
import time
导入selenium包
from selenium import webdriver
打开Firefox浏览器
browser = webdriver.Edge()
停留三秒
time.sleep(3)
#关闭浏览器
browser.quit()
image.png

运行尝试

image.png

Selenium使用

Selenium元素定位

定位是基本,就是如何找到以上案例中的输入框,按钮,剩下的其他就是最基本的输入输出api了

1.当使用Selenium通过元素的ID来定位元素时,可以使用By.ID选择器。以下是一个简单的示例代码,演示了如何使用Selenium定位并操作一个具有特定ID的元素:

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

创建一个.Edge WebDriver实例
driver = webdriver.Edge()

try:
打开网页
driver.get("https://example.com")

# 等待页面加载完毕
WebDriverWait(driver, 10).until(EC.title_contains("Example Domain"))

# 通过ID定位元素,并操作该元素
element = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.ID, "element-id"))
)

# 在找到的元素上执行操作,例如点击
element.click()

finally:
关闭浏览器
driver.quit()

2.通过元素的名称(name属性)来定位元素时,可以使用By.NAME选择器。以下是一个示例代码

element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.NAME, "element-name")) )

3.通过类名(class name)定位元素可以使用By.CLASS_NAME选择器。以下是一个示例代码

element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.CLASS_NAME, "element-class")) )

4. 通过标签名定位:如果你想定位页面上的第一个<a>标签,那么可以这样定位它:

elements = driver.find_elements(By.TAG_NAME, "a")

5.通过链接文本定位:如果页面上有一个链接,其文本是"About Us",那么可以这样定位它:

element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.LINK_TEXT, "About Us")) )

6.. 通过部分链接文本定位:如果页面上有一个链接,其文本是"Welcome to our website",你可以使用部分文本来定位它:

element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, "Welcome")) )

7. 通过CSS选择器定位

element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.CSS_SELECTOR, "input#username")) )

8. 通过XPath定位-F12选中框右键即可复制XPath路径

element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, "//input[@id='username']")) )
By对象实例对象
class By:
"""
Set of supported locator strategies.
"""

ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"

文本输入、清除与提交

  • send_keys(‘XXX’)文本输入。
  • clear()文本清空。
  • submit()提交:submit()只能用于包含属性type='submit’的标签,并且嵌套在form表单中。
请前往 登录/注册 即可发表您的看法…