如何创建bash脚本以在python中执行无头自动化
几天前我问过这个问题,但它是假设的,并且错误地与前面的一个问题联系在一起。这就是答案。解决方案其实很简单 我通过使用如何创建bash脚本以在python中执行无头自动化,python,bash,selenium,bdd,python-behave,Python,Bash,Selenium,Bdd,Python Behave,几天前我问过这个问题,但它是假设的,并且错误地与前面的一个问题联系在一起。这就是答案。解决方案其实很简单 我通过使用export headless=0找到了一个解决方法;在非headless bash脚本中表现出,它成功了 这个方法需要注意的是,我必须使用os.getenv('headless'),它引用了在.env文件中设置的值。那是无头=1 最终的webconfig.py如下所示 import dotenv import os from selenium import webdriver
export headless=0找到了一个解决方法;在非headless bash脚本中表现出
,它成功了
这个方法需要注意的是,我必须使用os.getenv('headless')
,它引用了在.env文件中设置的值。那是无头=1
最终的webconfig.py如下所示
import dotenv
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
dotenv.load_dotenv()
headless = bool(int(os.getenv('headless')))
class Driver:
def __init__(self, driver):
self.driver = driver
if driver == "chrome":
if headless:
chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--window-size=1920,1200")
chrome_options.add_argument("--disable-dev-shm-usage")
self.driver = webdriver.Chrome(chrome_options=chrome_options)
else:
self.driver = webdriver.Chrome()
elif driver == "firefox":
self.driver = webdriver.Firefox()
else:
print(f"{driver} is not defined.")