无头Web浏览器需要Selenium WebDriver吗?

时间:2018-06-20 10:49:59

标签: selenium webdriver automated-tests headless

我正在尝试使用无头Web浏览器(例如无头chrome)进行硒测试。是否必须使用硒WebDriver(用于python或c#绑定)?

2 个答案:

答案 0 :(得分:1)

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os

在设置Chrome Web驱动程序实例之前,我们必须创建一个Options对象,该对象允许我们指定启动Chrome的确切方式。告诉我们,我们希望浏览器能够无头启动,并且窗口大小应设置为1920x1080。我们还需要ChromeDriver才能完全运行Chrome

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=1920x1080")

# download the chrome driver from https://sites.google.com/a/chromium.org/chromedriver/downloads and put it in the
# current directory
chrome_driver = os.getcwd() +"\\chromedriver.exe"

driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=chrome_driver)
driver.get("https://www.google.com")

答案 1 :(得分:0)

无头Chrome

根据Getting Started with Headless ChromeHeadless Chrome是服务器环境,您不需要可见的UI Shell。

如果您已经安装了Chrome 59+,则可以使用 self.d_model = Model([real_samples, noise, label], [valid, fake, valid_interp], name="discriminator") 标志启动Chrome,如下所示:

--headless

chrome \ --headless \ # Runs Chrome in headless mode. --disable-gpu \ # Temporarily needed if running on Windows. 应该始终指向您安装的 chrome 。粗略的确切位置因平台而异。

ChromeDriver

根据ChromeDriver - WebDriver for Chrome,简单来说, WebDriver 是一个开放源代码工具,用于跨多种浏览器自动测试Web应用程序,它提供了导航到网页,用户输入,JavaScript执行,以及更多。 ChromeDriver 独立服务器,它为 Chromium 实现了 WebDriver的有线协议

结论

如果您打算在 Headless模式(即 Headless Chrome )中使用 Chrome浏览器进行硒测试您必须强制使用 ChromeDriver