python - 如何在 Mac OS 上使用 Selenium WebDriver?
问题描述
我目前正在尝试学习如何使用 Python (3.7) 实现自动化。
所以首先我在我的 MacBook(Mojave 10.14.1)上安装了带有 Homebrew 的 Selenium Standalone Server 3.141.5。我认为这将是一种简单的方法,并且安装成功。在此之后,我使用了一个小的 Python 脚本来测试带有 Selenium 的 Firefox webDriver - 只是为了看看一切是否正常,但没有......
Eclipse 只是给了我这个错误:
回溯(最近一次通话最后):文件“/Users/Sandra/Documents/eclipse-workspace/Automatisierung/Test_Package/Firefox_webDriver_Test.py”,第 11 行,从 selenium 导入 webdriver ImportError:没有名为 selenium 的模块
在运行脚本之前,我在终端中启动了 Selenium:selenium-server -port 4444
这是脚本代码(我也可以使用 Chrome 或 Safari 代替 Firefox):
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get('https://www.ebay.de')
assert 'eBay.de' in browser.title
elem = browser.find_element_by_name('p') # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN)
browser.quit()
解决方案
您收到此错误:
from selenium import webdriver ImportError: No module named selenium
因为 python 找不到 selenium 模块。安装的只是服务器
使用 selenium 的最简单方法是下载软件的非服务器版本,该软件在 selenium 下载页面上是“Selenium 客户端和 WebDriver 语言绑定”部分中的链接之一。(如果您使用服务器,我不知道如何访问该模块)
网站上说明了您想要使用服务器版本的唯一原因:
“为了运行远程 Selenium WebDriver,需要 Selenium 服务器。Selenium 3.X 不再能够直接运行 Selenium RC,而是通过仿真和 WebDriverBackedSelenium 接口来实现。”
推荐阅读
- azure-functions - 如何使用 java 在 Cosmos DB 中设置重试策略?
- python - 我怎样才能立即获得这个 itertools.product() 的长度,因为 len(list()) 将花费无限长的时间来做到这一点?
- python - 在python中总结数组的浮动元素是在答案的末尾添加垃圾值吗?
- c# - XDocument 按属性日期值过滤
- c++ - 不能为类中的模板重载 ==
- java - 使用 Spring 的数字格式
- python - 如何使用可变长度的列表作为行来创建 Pandas Dataframe?
- sql - 从 postgres 查询构建 JSON 对象层次结构。这个对吗?
- javascript - 如何在 JavaScript 中执行数组解构,然后同时检索解构对象的值?
- unity3d - 如何从 TargetHit 脚本调用 Score() 函数到 UpdateUI 脚本?