如何设置Selenium脚本在屏幕右侧打开Chrome浏览器窗口?
如何让Selenium控制的Chrome窗口在屏幕右侧打开?
你可以通过Selenium的窗口位置设置API实现需求,同时我会修复原代码里的几个问题,确保脚本能正常运行:
修改后的完整代码
import time from selenium import webdriver chromedriver = "/user/local/bin/chromedriver" driver = webdriver.Chrome(chromedriver) # 获取屏幕总宽度 screen_width = driver.execute_script("return window.screen.width;") # 获取当前浏览器窗口的宽度 window_width = driver.get_window_size()["width"] # 计算右侧位置的X坐标:屏幕宽度 - 窗口宽度 x_pos = screen_width - window_width # 设置窗口位置到屏幕右侧,Y坐标设为0(顶部对齐) driver.set_window_position(x_pos, 0) link = "https://docs.google.com/forms/d/e/1FAIpasdadTaerWE-ArYUfzNjfQosl_nlesd" driver.get(link) # 修复原XPath的语法错误(少了斜杠) x_p = '//*[@id="mG61Hd"]/div/div[2]/div/div/div[2]/div/span/div/div[1]' submit_xp = '//*[@id="mG61Hd"]/div/div[2]/div[3]/div/div/div/span/span' # 初始化count变量,避免NameError count = 0 while count < 25: d = driver.find_element_by_xpath(x_p) d.click() time.sleep(0.5) submit = driver.find_element_by_xpath(submit_xp) submit.click() count += 1 driver.get(link)
关键修改说明
- 窗口位置控制:
- 用
driver.execute_script("return window.screen.width;")获取屏幕总宽度,无需额外安装第三方库。 - 计算X坐标时,用屏幕宽度减去窗口宽度,确保窗口右侧对齐屏幕边缘。
- 调用
driver.set_window_position(x_pos, 0)把窗口定位到右侧,Y=0表示窗口顶部和屏幕顶部对齐。
- 用
- 修复原代码问题:
- 初始化了
count变量,否则运行会抛出NameError。 - 修正了XPath中的语法错误(原代码
div/div[2]div少了斜杠,改为div/div[2]/div)。
- 初始化了
如果需要自定义窗口大小,可以先设置固定宽高再计算位置:
driver.set_window_size(800, 1000) screen_width = driver.execute_script("return window.screen.width;") driver.set_window_position(screen_width - 800, 0)
内容的提问来源于stack exchange,提问作者TurtleTasteTangy
相关产品推荐
相关产品推荐

