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

苏州沧浪区做网站银川网站建设推广

苏州沧浪区做网站,银川网站建设推广,建设网站50m数据库,小程序首页模板🧰 更多 Selenium 自动化操作技巧1️⃣ 鼠标交互操作(ActionChains)Selenium 提供 ActionChains 类来模拟用户的复杂鼠标行为,如:移动光标到某元素上(悬浮触发事件)鼠标右键、双击拖拽元素等&am…

🧰 更多 Selenium 自动化操作技巧

1️⃣ 鼠标交互操作(ActionChains)

Selenium 提供 ActionChains 类来模拟用户的复杂鼠标行为,如:

  • 移动光标到某元素上(悬浮触发事件)
  • 鼠标右键、双击
  • 拖拽元素等

📌 示例:模拟将鼠标移动到百度首页的“更多产品”菜单上:

from selenium.webdriver.common.action_chains import ActionChainsac = ActionChains(driver)
target = driver.find_element(By.CSS_SELECTOR, '[name="tj_briicon"]')
ac.move_to_element(target).perform()

2️⃣ 执行 JavaScript 脚本

Selenium 支持直接执行 JS 脚本,用于获取 DOM 属性或处理页面行为。

示例:检查分页按钮是否可用
disabled = driver.execute_script('''let ele = document.querySelector('.soupager > button:last-of-type');return ele.getAttribute('disabled');
''')if disabled == 'disabled':return True
将元素滚动到视口中(避免点击失败)
driver.execute_script("arguments[0].scrollIntoView({block:'center',inline:'center'})", element)

3️⃣ 冻结页面以辅助调试

某些浮动菜单或弹窗,在鼠标移出时会立即消失,不方便抓取元素信息。可在浏览器开发者工具的控制台执行:

setTimeout(function(){debugger}, 5000)

在 5 秒内将鼠标悬停目标区域,随后浏览器将冻结当前界面,便于检查 HTML 结构。


4️⃣ 处理弹窗(Alert、Confirm、Prompt)

Selenium 提供 switch_to.alert 接口操作 JS 弹窗:

Alert 弹窗(只包含提示信息)
driver.switch_to.alert.text  # 获取内容
driver.switch_to.alert.accept()  # 点击确认
Confirm 弹窗(确认/取消选择)
driver.switch_to.alert.accept()   # 确认
driver.switch_to.alert.dismiss()  # 取消
Prompt 弹窗(输入内容)
alert = driver.switch_to.alert
alert.send_keys("selenium自动化")
alert.accept()

❗提示:非 JS 弹窗(HTML 构建)需用正常元素选择器处理。


5️⃣ 控制窗口与页面信息

获取或设置浏览器窗口参数:

  • driver.get_window_size():获取尺寸
  • driver.set_window_size(w, h):设置大小
  • driver.title:页面标题
  • driver.current_url:当前地址栏内容
print(driver.title)
print(driver.current_url)

6️⃣ 页面截图

使用 get_screenshot_as_file() 保存当前界面截图:

driver.get_screenshot_as_file('screenshot.png')

7️⃣ 模拟手机设备

通过 ChromeOptions 配置移动设备环境,模拟手机访问网页:

from selenium import webdrivermobile_emulation = {"deviceName": "iPhone 14 Pro Max"}
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)driver = webdriver.Chrome(options=chrome_options)
driver.get('https://www.baidu.com')

8️⃣ 文件上传(支持多文件)

上传控件一般是 <input type="file">,只需通过 send_keys 指定文件路径:

ele = wd.find_element(By.CSS_SELECTOR, 'input[type="file"]')
ele.send_keys(r'h:\test.png')

📂 多文件上传(支持多次调用):

ele.send_keys(r'h:\img1.png')
ele.send_keys(r'h:\img2.png')

📌 如果上传控件不是标准的 file input,而是弹出系统窗口,可以借助 Windows 平台的 pywin32 库发送文件路径和回车:

import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.Sendkeys(r"h:\img.png" + '\n')

9️⃣ 自动化 Edge 浏览器

Edge(基于 Chromium)需要下载对应版本的驱动,初始化方式如下:

from selenium import webdriverdriver = webdriver.Edge(executable_path=r'd:\tools\webdrivers\msedgedriver.exe')
driver.get('https://www.51job.com')

这就是 Selenium 在常见交互行为、弹窗处理、浏览器控制、上传文件、移动端模拟等方面的进阶用法整理。

http://www.dtcms.com/a/510491.html

相关文章:

  • 甘肃模板型网站建设卡片式多图流的WordPress主题模板
  • 苏州家教网站建设免费跨境电商平台有哪些
  • 熊掌号接合网站做seo新乡做网站公司电话
  • 惠阳做网站网页制作题用什么软件
  • 找公司做网站需要注意营销手机网站版面
  • 扬州外贸网站seowordpress账户插件
  • 营销网站模板下载用rp怎样做网站
  • 制作网站的专业公司杭州做网站哪里好
  • 室内设计网站有哪些知乎短视频营销推广
  • 建设银行u盾官方网站首页企业邮箱是怎么样的
  • 深圳律师网站建设建五金方面的网站
  • 郑州知名网站建设服务公司江苏省建设工程网站
  • 众筹网站开发价格2022年中国电商行业分析报告
  • 极速网站建设服务商域名空间费一年多少钱
  • 做京东商城网站商城网站的psd模板免费下载
  • dw做的网站后台是什么云南定制化网站建设
  • 做网站需要什么基础重庆微网站制作
  • 德阳网站制作公司外贸平台补贴政策
  • 临海市建设局官网站网站建设销售技巧话术
  • 电子商务网站的建设pptwordpress 支付宝收钱
  • 免费app网站下载大全嘉兴定制型网站建设
  • 西部数码网站管理助手 卸载网站建设工作总结6
  • 开发手机应用网站公众号制作模板网站
  • 徐州手机网站建设制作wordpress onclick
  • 网站上线验收网页建设的公司
  • 进入微信官方网站下载电子商务公司网站建立
  • 搞好姓氏源流网站建设logo在线设计生成器小程序
  • 网站设计教程及在线模拟器注册了域名之后怎么做网站
  • 网页设计与网站建设过程十大倒闭的互联网公司
  • 网站管理员怎么做板块建设软件工程师工作