如何在 Robot Framework 中最大化 Headless Chrome window?
How to maximize Headless Chrome window in Robot Framework?
我无法以最大化 window 启动 Headless chrome。我尝试了两种解决方案,但其中 none 对我有用。
第一个解决方案:
Open Browser ${LOGIN_URL} headlesschrome
Maximize Browser Window
第二个:
${chrome_options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
Call Method ${chrome_options} add_argument --start-maximized
Create Webdriver Chrome chrome_options=${chrome_options}
Go To ${LOGIN_URL}
Maximize Browser Window
我的解决方案哪里做错了?
要在使用 google-chrome-headless 时最大化 浏览 Window,您需要替换:
add_argument --start-maximized
有:
add_argument window-size=1400,600
备选
命令 Maximize Browser Window
可能在 robotframework 中仍然无效。
这是 robotframework 的已知问题已有一段时间了。我们在讨论 "Maximise browser Window" keyword not working in IE,FF and chrome.I am using selenium2Library 中详细讨论了这个问题。然而,@srib4ufrnd
提供了如下解决方法:
- 第 1 步:当 selenium2library 安装在机器人框架中时,selenium2library 将在路径
C:\Python27\Lib\site-packages\Selenium2Library\keywords
- 第 2 步:在这些 python 文件中,关键字
Maximise browser window
的代码存在于名称为 [=18 的 python 文件中=]
第 3 步:Maximise 浏览器 window 的代码无法正常工作。
def maximize_browser_window(self):
"""Maximizes current browser window."""
self._current_browser().execute_script("if (window.screen) { window.moveTo(0, 0); window.resizeTo(window.screen.availWidth, window.screen.availHeight); }")
第四步:复制上面的文件,另存为一个文件名,以备后用。如果我们需要在出现任何问题时快速恢复,这将对我们有所帮助。
第 5 步:现在将“_browsermanagement.py”文件中的上述代码替换为以下代码。
def maximize_browser_window(self):
"""Maximizes current browser window."""
self._current_browser().maximize_window()
- 第 6 步:编辑后保存文件
_browsermanagement.py
。
Note: Ensure you are saving the file in proper encoding technique using only "notepad" which comes as deafult with windows to edit and save the file.
- 第 7 步:执行您的测试,现在可以对关键字执行相同的操作 Maximise 浏览器 window.
参考
您可以在以下位置找到一些相关讨论:
- How to set window size in Selenium Chrome Python
- Not able to maximize Chrome Window in headless mode
解决方案是使用 Set Window Size :
Call Method ${chrome_options} add_argument --disable-extensions
Call Method ${chrome_options} add_argument --headless
Call Method ${chrome_options} add_argument --disable-gpu
Call Method ${chrome_options} add_argument --no-sandbox
Create Webdriver Chrome chrome_options=${chrome_options}
Set Window Size ${1400} ${600}
Go To ${LOGIN_URL}
什么对我有用
Call Method ${chrome options} add_argument window-size\=1400,600
注意 \=
因为没有它就无法工作
我无法以最大化 window 启动 Headless chrome。我尝试了两种解决方案,但其中 none 对我有用。 第一个解决方案:
Open Browser ${LOGIN_URL} headlesschrome
Maximize Browser Window
第二个:
${chrome_options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver
Call Method ${chrome_options} add_argument --start-maximized
Create Webdriver Chrome chrome_options=${chrome_options}
Go To ${LOGIN_URL}
Maximize Browser Window
我的解决方案哪里做错了?
要在使用 google-chrome-headless 时最大化 浏览 Window,您需要替换:
add_argument --start-maximized
有:
add_argument window-size=1400,600
备选
命令 Maximize Browser Window
可能在 robotframework 中仍然无效。
这是 robotframework 的已知问题已有一段时间了。我们在讨论 "Maximise browser Window" keyword not working in IE,FF and chrome.I am using selenium2Library 中详细讨论了这个问题。然而,@srib4ufrnd
提供了如下解决方法:
- 第 1 步:当 selenium2library 安装在机器人框架中时,selenium2library 将在路径
C:\Python27\Lib\site-packages\Selenium2Library\keywords
- 第 2 步:在这些 python 文件中,关键字
Maximise browser window
的代码存在于名称为 [=18 的 python 文件中=] 第 3 步:Maximise 浏览器 window 的代码无法正常工作。
def maximize_browser_window(self): """Maximizes current browser window.""" self._current_browser().execute_script("if (window.screen) { window.moveTo(0, 0); window.resizeTo(window.screen.availWidth, window.screen.availHeight); }")
第四步:复制上面的文件,另存为一个文件名,以备后用。如果我们需要在出现任何问题时快速恢复,这将对我们有所帮助。
第 5 步:现在将“_browsermanagement.py”文件中的上述代码替换为以下代码。
def maximize_browser_window(self): """Maximizes current browser window.""" self._current_browser().maximize_window()
- 第 6 步:编辑后保存文件
_browsermanagement.py
。
Note: Ensure you are saving the file in proper encoding technique using only "notepad" which comes as deafult with windows to edit and save the file.
- 第 7 步:执行您的测试,现在可以对关键字执行相同的操作 Maximise 浏览器 window.
参考
您可以在以下位置找到一些相关讨论:
- How to set window size in Selenium Chrome Python
- Not able to maximize Chrome Window in headless mode
解决方案是使用 Set Window Size :
Call Method ${chrome_options} add_argument --disable-extensions
Call Method ${chrome_options} add_argument --headless
Call Method ${chrome_options} add_argument --disable-gpu
Call Method ${chrome_options} add_argument --no-sandbox
Create Webdriver Chrome chrome_options=${chrome_options}
Set Window Size ${1400} ${600}
Go To ${LOGIN_URL}
什么对我有用
Call Method ${chrome options} add_argument window-size\=1400,600
注意 \=
因为没有它就无法工作