是否可以在没有驱动程序的情况下使用 Selenium?
Posted
技术标签:
【中文标题】是否可以在没有驱动程序的情况下使用 Selenium?【英文标题】:Is it possible to use Senenium without driver? 【发布时间】:2021-07-07 18:50:00 【问题描述】:我想在 spyder/Jupyter-notebook 中使用 selenium,但我无法下载驱动程序。是否可以在不下载驱动程序的情况下以某种方式使用 selenium,例如在协作版本中
【问题讨论】:
由于可执行文件的工作限制而无法下载驱动程序?或者你的意思是你真的不能下载它(技术问题)? 我要运行这段代码的电脑,被拒绝了 如果您使用 Java,我认为可以通过 Maven/POM 文件解决此问题,但我不确定是否使用 Python。希望其他人提出解决方案。祝你好运。 【参考方案1】:Selenium 是一个主要启用和支持网络浏览器自动化的工具。因此,它确实需要后端的 Web 驱动程序。来自docs:
要在您的自动化项目中使用 Selenium,您需要为您选择的语言安装语言绑定库。此外,您将需要 WebDriver 二进制文件用于您想要自动化和运行测试的浏览器。
此外,查看repo,您会发现它确实需要驱动程序,具体取决于您打算使用的浏览器。
如果您因为政策限制而无法安装驱动程序,请与您的管理员联系并说明您需要它的原因;他们也许可以为您安装它。
【讨论】:
【参考方案2】:您可以使用无头方法来运行 selenium。 https://dev.to/googlecloud/using-headless-chrome-with-cloud-run-3fdp
【讨论】:
【参考方案3】:如果您不想在本地运行它,您可以使用 Remote
驱动程序。例如,您可以在 aws 设备场上运行它。如果您想在 aws 设备场上执行此操作,请参考以下示例:
https://docs.aws.amazon.com/devicefarm/latest/testgrid/testing-frameworks-python.html
import boto3
from selenium.webdriver import DesiredCapabilities
from selenium.webdriver import Remote
class MyPytestTests():
def setup_method(self, method):
devicefarm_client = boto3.client("devicefarm")
testgrid_url_response = devicefarm_client.create_test_grid_url(
projectArn= "arn:aws:devicefarm:us-west-2:111122223333:testgrid-project:123e4567-e89b-12d3-a456-426655440000",
expiresInSeconds=300
)
desired_capabilities = DesiredCapabilities.FIREFOX
desired_capabilities["platform"] = "windows"
self.driver = Remote(testgrid_url_response['url'], desired_capabilities)
拆解:
def teardown_method(self, method):
self.driver.quit()
(摘自 aws 文档)
【讨论】:
以上是关于是否可以在没有驱动程序的情况下使用 Selenium?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在没有 Java 的情况下构建 Android 应用程序? [复制]
是否可以在没有密码的情况下使用 Spring SecurityConfiguration HttpSecurity 登录?
是否可以在没有发布应用程序的情况下使用适用于 iOS 的 Facebook SDK?