使用Python将selenium chrome实例发送至后台[英] Sending selenium chrome instance to the background using Python

问题描述

我正在尝试使用Python和Selenium打开一个简单的Chrome实例. 请在下面找到我的代码:

import time, datetime, sys, os
start_time = time.time()
from datetime import datetime
os.system("cls")
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options

CHROME_PATH = 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'
CHROMEDRIVER_PATH = 'C:\\Users\\'+userID+'\\'+filename+'\\chromedriver.exe'
WINDOW_SIZE = "1920,1080"

chrome_options = Options()  
chrome_options.add_argument("--window-size=%s" % WINDOW_SIZE)
chrome_options.add_argument("disable-gpu")
chrome_options.add_argument("disable-infobars")
chrome_options.add_argument("--disable-notifications")
chrome_options.binary_location = CHROME_PATH

browser = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH,chrome_options=chrome_options)
time.sleep(1)
browser.get("https://www.google.com")
os.system("cls")
time.sleep(2)

我希望它在背景中打开,即当我输入其他内容时,鼠标/光标焦点不应随机转到此自动化的chrome实例.

限制:请注意以下限制:

  1. 我不能使用" - 无"
  2. 我不能使用phantomjs
  3. 我不能使用PyvirtualDisplay,因为代码(EXE文件)最终将用于最终用户的Windows机器.

是否还有其他方法可以将此Chrome实例推向背景? 谢谢

推荐答案

没有在 浏览器客户端 在后台或作为 背景过程 .

粗糙的替代方法是使用无头浏览器,您可以在哪些驱动程序支持" No-Browser"/"无头"测试?.

为什么不可能?

软件测试自动化是一门艺术.您的测试框架应该是:

结论

始终保持测试环境与开发环境分开,并且绝对没有手动干预..

其他推荐答案

在Windows上,您可以使用"任务调度程序",如果在登录时设置打开或盯着系统时,它将在后台打开. 在硒中,我只找到:

browser.set_window_position(-10000, 0)
browser.set_window_size(0, 0) # this is optional

,但是在任务栏上可以看到浏览器(您无法打开它). 在此处输入图像描述

本文地址:https://www.itbaoku.cn/post/1739910.html