Web界面自动化操作工具 - Selenium常见用法

Selenium是一个用于自动化浏览器操作的工具,常用于Web应用程序的测试和爬虫开发。

下面是一些Python Selenium的常见用法和代码示例:

1. 导入Selenium库和WebDriver:

from selenium import webdriver

2. 创建WebDriver实例:

# 使用Chrome浏览器
driver = webdriver.Chrome()

# 使用Firefox浏览器
driver = webdriver.Firefox()

# 使用Edge浏览器
driver = webdriver.Edge()

# 使用Safari浏览器
driver = webdriver.Safari()

3. 打开URL并获取页面内容:

# 打开URL
driver.get("https://www.example.com")

# 获取页面标题
title = driver.title
print("页面标题:", title)

# 获取页面源代码
page_source = driver.page_source
print("页面源代码:", page_source)

4. 查找元素并进行操作:

# 通过ID查找元素并输入文本
element = driver.find_element_by_id("username")
element.send_keys("myusername")

# 通过XPath查找元素并点击
element = driver.find_element_by_xpath("//button[@class='submit']")
element.click()

# 通过CSS选择器查找元素并获取文本
element = driver.find_element_by_css_selector(".message")
text = element.text
print("元素文本:", text)

其他多种Selenuim定位元素的方法:

4.1. 通过名称定位:

element = driver.find_element_by_name("element_name")

4.2. 通过类名定位:

element = driver.find_element_by_class_name("element_class")

4.3 通过标签名定位:

element = driver.find_element_by_tag_name("element_tag")

4.4 通过链接文本定位:

element = driver.find_element_by_link_text("link_text")

4.5. 通过部分链接文本定位:

element = driver.find_element_by_partial_link_text("partial_link_text")

5. 处理弹窗和框架:

# 切换到弹窗
alert = driver.switch_to.alert
alert.accept()  # 接受弹窗

# 切换到框架
frame = driver.switch_to.frame("frame_name")
# 在框架中执行其他操作
driver.switch_to.default_content()  # 切回默认框架

6. 执行JavaScript代码:

# 执行JavaScript脚本
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")  # 滚动到页面底部

7. 等待页面加载和元素可见:

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

# 等待页面加载完成
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, "username")))

# 等待元素可见并点击
element = wait.until(EC.visibility_of_element_located((By.XPATH, "//button[@class='submit']")))
element.click()

8. 关闭浏览器:

# 关闭当前窗口
driver.close()

# 关闭整个浏览器
driver.quit()

这些是Python Selenium的一些常见用法和代码示例。Selenium提供了丰富的API用于模拟用户操作和获取页面内容,可以根据具体的需求进行更多的操作和定制化开发。

9.使用场景1 - 打开百度并搜索

from selenium import webdriver
from selenium.webdriver.common.by import By

# 启动Chrome浏览器
driver = webdriver.Chrome()

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

# 找到搜索输入框并输入关键词
search_input = driver.find_element(By.ID, "kw")
search_input.send_keys("selenium")

# 提交搜索表单
search_input.submit()

# 等待搜索结果加载完成
driver.implicitly_wait(20)

# 找到搜索结果列表中的第一个结果
first_result = driver.find_element(By.CSS_SELECTOR, "#content_left .result h3 a")

# 获取第一个结果的文本内容
first_result_text = first_result.text

# 打印第一个搜索结果
print(first_result_text)

# 关闭浏览器
driver.quit()

10.使用场景2 - 持续集成Jenkins触发

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

# 启动Chrome浏览器
driver = webdriver.Chrome()

# 打开Jenkins登录页面
driver.get("http://Jenkins_Loginpage/")

driver.implicitly_wait(10)

# 找到用户名和密码输入框,并输入相应的值
username_input = driver.find_element(By.ID, "j_username")
password_input = driver.find_element(By.NAME, "j_password")

username_input.send_keys("username")
password_input.send_keys("password")

# 提交登录表单
login_button = driver.find_element(By.NAME, "Submit")
login_button.click()

# 等待登录成功后的页面加载完成
driver.implicitly_wait(5)

# 打开Jenkins首页
driver.get("http://Jenkins_Homepage/")

# 找到搜索输入框,并输入任务名称
search_input = driver.find_element(By.ID, "search-box")
search_input.send_keys("Job_Name")

# 提交搜索表单
search_input.submit()

# 等待搜索结果加载完成
driver.implicitly_wait(5)

# 找到搜索结果中的任务链接,并点击进入任务详情页
job_link = driver.find_element(By.LINK_TEXT, "Job_Name")
job_link.click()

# 找到构建按钮,并点击进行构建
build_button = driver.find_element(By.XPATH, "//*[@id='tasks']/div[4]/span")

build_button.click()

# 等待构建成功的状态出现
wait = WebDriverWait(driver, 60)
build_success_status = wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR, ".build-status"), "Success"))

# 获取构建状态文本内容
build_status = driver.find_element(By.CSS_SELECTOR, ".build-status").text

# 打印构建状态
print(build_status)

# 关闭浏览器
driver.quit()
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网页自动操作监控工具适合代替人工完成重复的网页操作。比如自动登陆网站后自动点击签到,自动输入内容并发表;商品抢购也可以用本软件设置好流程自动完成;批量自动发表评论等。 网页自动操作监控工具由自动刷新工具、自动点击工具和自动提交工具组成。通过这些工具组合可实现网页操作自动化,本软件中可以添加多个操作动作,设置各项操作顺序,同时监控网页内容变化,触发新的操作,每项操作都支持多线程。支持使用代理服务器更换IP访问,定时任务在无人值守的情况下自动完成,程序可完全隐藏后台运行。 1、支持定时操作和多线程操作。 2、支持后台操作或者前台显示操作效果,可完全隐藏运行。 3、一个任务可针对同一页面添加多个操作。 4、多任务可相互触发连续或循环执行。 5、兼容自动刷新任务、自动点击任务和自动提交任务。 6、支持代理服务器,换IP操作。可导入大量免费代理服务器,可随机使用或环使用代理服务器 7、支持对代理服务器使用情况进行统计管理。 8、网页内容变化监控,包括脚本执行产生的变化。 9、网页内容关键字监控,同时监控多个关键字。 10、网页HTML元素级监控,同时监控多个元素,进行数据比较。 11、网络故障监控,本地网络故障时报警。 12、面加载失败监控,网站服务器出现问题,或网页打不开时报警。 13、监控报警处置方式:弹出提示对话框;声音提示;任务中止;启动新任务;启动外部处置程序;保存当前页面;程序关闭;自动关机。 WINXP,WIN2003用户安装必须安装补丁Microsoft .NET Framework 2.0 Service Pack 2 注意是SP2补丁. 声明:本软件不得用于非法用途,非法使用本软件与软件作者无关.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值