当前位置: 首页 > 面试题库 >

用seleniumPython驱动器Opera

彭嘉赐
2023-03-14
问题内容

我添加到我的环境变量

SELENIUM_SERVER_JAR = C:\selenium_drivers\selenium-server-standalone.jar

我在这里下载的http://selenium-
release.storage.googleapis.com/index.html?path=2.46/

Python脚本:

from selenium import webdriver

webdriver.Opera()

输出:

13:37:37.906 INFO - Launching a standalone Selenium Server
13:37:38.104 INFO - Java: Oracle Corporation 25.45-b02
13:37:38.104 INFO - OS: Windows 8 6.2 x86
13:37:38.132 INFO - v2.46.0, with Core v2.46.0. Built from revision 87c69e2
13:37:38.269 INFO - Driver class not found: com.opera.core.systems.OperaDriver
13:37:38.275 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
13:37:38.630 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:53024/wd/hub
13:37:38.631 INFO - Selenium Server is up and running
13:37:47.892 INFO - Executing: [new session: Capabilities [{browserName=opera, javascriptEnabled=true, version=, platform=ANY}]])
13:37:47.907 INFO - Creating a new session for Capabilities [{browserName=opera, javascriptEnabled=true, version=, platform=ANY}]
Started InternetExplorerDriver server (32-bit) 2.43.0.0
Listening on port 43192
13:37:51.090 INFO - Done: [new session: Capabilities [{browserName=opera, javascriptEnabled=true, version=, platform=ANY}]]

我期望jar定义了所有内容,为什么找不到驱动程序类?


问题答案:

根据您的问题,您似乎正在使用适用于Opera 12及更高版本的旧驱动程序。假设您尝试使用最新版本的Opera,则需要使用以下站点上提供的驱动程序:
OperaChromiumDriver

该站点列出了示例python代码,我已经确认它们可以在我的机器上打开并驱动Opera:
OperaChromiumDriver的Python示例

import time

from selenium import webdriver
from selenium.webdriver.chrome import service


webdriver_service = service.Service('C:\\Users\\Kris\\Downloads\\WinPython-32bit-2.7.9.2\\operadriver.exe')
webdriver_service.start()

driver = webdriver.Remote(webdriver_service.service_url, webdriver.DesiredCapabilities.OPERA)

driver.get('https://www.google.com/')
input_txt = driver.find_element_by_name('q')
input_txt.send_keys('operadriver\n')

time.sleep(5) #see the result
driver.quit()

编辑:
查看硒的更改日志,似乎在2.45之后不再支持基于Presto的Operas,这就是为什么您收到错误消息的原因:CHANGELOG



 类似资料:
  • 问题内容: 尝试使用selenium-webdriver python向下滚动到页面底部,以便加载更多产品。 该网页已加载,但没有变化。 我想念什么吗? 问题答案: 您可以尝试以下move_up和move_down函数:

  • 驱动器是一种特殊类型的类库,它有一个父类和任意多个子类。子类可以访问父类, 但不能访问兄弟类。在你的 控制器 中,驱动器为你的类库提供了 一种优雅的语法,从而不用将它们拆成很多离散的类。 驱动器位于 system/libraries/ 目录,每个驱动器都有一个独立的目录,目录名和 驱动器父类的类名一致,在该目录下还有一个子目录,命名为 drivers,用于存放 所有子类的文件。 要使用一个驱动器,

  • 返回正确的标识符。当我使用服务帐户复制文件时,我可以全天在团队驱动器中复制。当我将它复制到用户的驱动器时,我得到的是“File not found:$UserRootid”。 我假设这是由于服务帐户无法访问用户的“我的驱动器”。我怎样才能让这个手术奏效?有人尝试过吗?

  • 我遵循了这个基本教程,但我得到: 什么应该包含重定向URI?

  • CodeIgniter 提供了几种最常用的快速缓存的封装,除了基于文件的缓存, 其他的缓存都需要对服务器进行特殊的配置,如果配置不正确,将会抛出 一个致命错误异常(Fatal Exception)。 使用示例 类参考 驱动器 可选 PHP 缓存(APC) 基于文件的缓存 Memcached 缓存 WinCache 缓存 Redis 缓存 虚拟缓存(Dummy Cache) 使用示例 下面的示例代码

  • 驱动器目录及文件结构 下面是驱动器目录和文件结构布局的简单例子: /application/libraries/Driver_name Driver_name.php drivers Driver_name_subclass_1.php Driver_name_subclass_2.php Driver_name_subclass_3.php 注解 为了在大小写敏感的文件系统下保证兼容性,Driv