当前位置: 首页 > news >正文

execute_script与JS

        JavaScript简称JS,有的测试场景需要JS脚本辅助完成Selenium无法做到的测试工作。webdriver提供了execute_script()方法调用JS代码。execute_script()可以在当前窗口/框架中执行JS脚本,并返回结果。可以使用它操作DOM元素、获取元素属性、执行异步操作等。

from selenium import webdriver
from selenium.webdriver.common.by import By
import time# 初始化 WebDriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

获取页面标题

title = driver.execute_script("return document.title;")
print(f"Page title is:{title}")

查找搜索输入框并输入关键字

search_input = driver.find_element(By.ID, "kw")
driver.execute_script("arguments[0].value = 'Selenium';", search_input)

 查找搜索按钮并点击

search_button = driver.find_element(By.ID, "su")
driver.execute_script("arguments[0].click();", search_button)

滚动到页面底部

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

改变搜索框背景颜色

driver.execute_script("arguments[0].style.backgroundColor = 'blue';", search_input)

 获取第一个搜索结果的链接文本

first_result_text = driver.execute_script("return document.querySelector('.t a').innerText;")

 获取第一个搜索结果的链接

first_result_url = driver.execute_script("return document.querySelector('.t a').href;")

 获取网页源代码

page_source = driver.execute_script("return document.documentElement.outerHTML;")
print(f"Page source length:{len(page_source)}")

刷新页面

driver.execute_script("location.reload();")
http://www.lryc.cn/news/399795.html

相关文章:

  • 访问 Postman OAuth 2.0 授权的最佳实践
  • 《BASeg: Boundary aware semantic segmentation for autonomous driving》论文解读
  • 高效利用iCloud指南
  • 【MySQL】常见的MySQL日志都有什么用?
  • IDEA社区版使用Maven archetype 创建Spring boot 项目
  • C/C++ list模拟
  • android studio开发
  • PostgreSQl 物化视图
  • Win10工具:批量word转png图片
  • 期货量化交易客户端开源教学第八节——TCP通信服务类
  • bi项目笔记
  • 金蝶云苍穹-插件开发(四)GPT开发相关插件
  • 【机器学习】精准农业新纪元:机器学习引领的作物管理革命
  • 一键掌握天气动态 - 基于Vue和高德API的实时天气查询
  • PostgreSQL修改最大连接数
  • C# SqlSugar 如何使用Sql语句进行查询,并带参数进行查询,防注入
  • slf4j日志框架和logback详解
  • 解决@Data与@Builder冲突的N种策略
  • 一文看懂LUT(Lookup Table)查找表
  • 06 人以群分 基于邻域的协同过滤算法
  • SQL性能下降的原因
  • js的原型
  • FastAPI 学习之路(三十七)元数据和文档 URL
  • C 语言结构体
  • MySQl高级篇-主从复制
  • JMeter案例分享:通过数据验证的错误,说说CSV数据文件设置中的线程共享模式
  • 数学建模·Topsis优劣解距离法
  • 数学建模中常用的数据处理方法
  • C嘎嘎:函数模版和类模版
  • 使用 Apache Pulsar 构建弹性可扩展的事件驱动应用