Selenium自动化之获取/设置当前浏览器在屏幕上的位置(坐标)操作

本文介绍使用Selenium WebDriver在Python中控制浏览器窗口位置的方法。通过`get_window_position`和`set_window_position`函数,可以获取和设置浏览器在屏幕上的坐标,实现自动化测试中对浏览器位置的精确控制。
部署运行你感兴趣的模型镜像

#获取当前浏览器在屏幕上的位置(坐标)
driver.get_window_position()
#设置当前浏览器在屏幕上的位置(坐标)
driver.set_window_position(x=400,y=200)

from selenium import webdriver
import unittest
import time

class VisitSogouByIE(unittest.TestCase):

    def setUp(self):
        # 启动IE浏览器
        self.driver = webdriver.Ie(executable_path = "g:\\IEDriverServer")

    def test_window_position(self):
        url = "http://www.baidu.com"
        self.driver.get(url)
        # 获取当前浏览器在屏幕上的位置,返回的是字典对象
        position = self.driver.get_window_position()
        print("当前浏览器所在位置的横坐标:", position['x'])
        print("当前浏览器所在位置的纵坐标:", position['y'])
        time.sleep(1)
        # 设置当前浏览器在屏幕上的位置
        self.driver.set_window_position(x=400,y=200)
        time.sleep(1)
        # 设置浏览器的位置后,再次获取浏览器的位置信息
        print(self.driver.get_window_position())

    def tearDown(self):
        # 退出IE浏览器
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Selenium是一个流行的Web自动化测试框架,它允许开发者控制浏览器的行为,包括模拟用户交互。如果你想要让Selenium自动在图片上点击,你需要通过识别图片并找到其准确的位置来进行操作。这通常涉及到图像处理技术,例如定位元素的基于像素坐标或者使用OCR(光学字符识别)读取图片上的文字然后关联到可点击的控件。 以下是基本步骤: 1. 导入必要的库:比如`webdriverWait`, `By`(用于定位元素),以及图像处理相关的库(如PIL或OpenCV)。 ```python from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import cv2 ``` 2. 定义图片路径和预期的点击区域,如果图片上有明确的文字,可以使用OCR获取精确位置: ```python image_path = 'path_to_your_image.jpg' click_area_x, click_area_y = (50, 60) # 假设这是左上角的坐标 ``` 3. 使用WebDriverWait等待图片加载,然后找到图片元素: ```python driver = webdriver.Firefox() # 根据使用的浏览器选择driver wait = WebDriverWait(driver, 10) element = wait.until(EC.presence_of_element_located((By.XPATH, f"//*[contains(@src, '{image_path}') or contains(text(),'{ocr_text}')]"))) # 使用XPath定位 ``` 4. 读取图片并识别点击区域,转换为屏幕坐标: ```python img = cv2.imread(image_path) # 使用图像处理技术找到点击区域 click_position_on_img = ... # 根据图片内容计算的实际坐标 # 将图像坐标转换为屏幕坐标 click_position_on_screen = driver.find_element_by_tag_name('body').size['width'] * click_position_on_img[0] / img.shape[1], driver.find_element_by_tag_name('body').size['height'] * click_position_on_img[1] / img.shape[0] ``` 5. 点击屏幕上的位置: ```python driver.execute_script(f"arguments[0].click();", element.location + click_position_on_screen) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值