在Mac Chrome上使用Selenium

Rav*_*avi 18 macos google-chrome google-chrome-extension selenium-webdriver

最近有一台Mac,能够运行Mozilla没有任何问题,但无法安装Chrome扩展并运行它为selenium.有人可以指导我完成安装扩展程序并在Mac chrome上运行selenium的过程.

Gid*_*zer 26

如果您想将Selenium WebDriver与Chrome配合使用,请首先下载ChromeDriver - 适用于Chrome的WebDriver.这可以通过Homebrew安装brew install chromedriver,也可以手动下载,提取,移动和设置PATH如下:

$ cd $HOME/Downloads
$ wget http://chromedriver.storage.googleapis.com/2.22/chromedriver_mac32.zip
$ unzip chromedriver_mac32.zip
$ mkdir -p $HOME/bin
$ mv chromedriver $HOME/bin
$ echo "export PATH=$PATH:$HOME/bin" >> $HOME/.bash_profile
Run Code Online (Sandbox Code Playgroud)

来源: 在mac或linux上安装并设置chromedriver的路径

然后,您应该阅读桌面上的ChromeDriver入门,特别是示例代码,其中显示了如何将路径映射到可执行文件并进行实例化ChromeDriver.如果您在PATH变量中引用了驱动程序,则可以省略配置行.

您可以通过ChromeDriver安装打包(.crx文件)和解压缩(目录)扩展.请参阅代码片段以在此处进行设置.

如果您使用的是Selenium IDE for FireFox,则Chrome没有可用的版本.我所知道的最好的选择是iMacros for Chrome.


anq*_*egi 11

我认为在mac os终端上运行mac osx,chrome和selenium的简单方法是这样的:

# download selenium jar
curl -L0 https://selenium-release.storage.googleapis.com/3.9/selenium-server-standalone-3.9.1.jar -o selenium-server-standalone.jar

# install chromedriver using cask
brew cask install chromedriver

# start chrome driver
brew services start chromedriver                                                                                                                                                                      
#==> Successfully started `chromedriver` (label:homebrew.mxcl.chromedriver)

# start selenium server
java -jar selenium-server-standalone.jar                                                                                                                                                                           
#14:38:20.684 INFO - Selenium build info: version: '3.9.1', revision: '63f7b50'
#14:38:20.685 INFO - Launching a standalone Selenium Server on port 4444
Run Code Online (Sandbox Code Playgroud)

  • 当运行'brew services start chromedriver'时,我得到'没有可用的名称为"chromedriver"的公式,任何想法为什么? (2认同)
  • 不,即使运行“brew cask install chromedriver”后,“brew services list”下也没有任何内容 (2认同)

小智 6

  1. 一种方法是,如果您的 Mac 上有自制程序,则在终端上使用此命令 brew install chromedriver
  2. 然后你需要在你的机器上下载 chromedriver,从 http://chromedriver.storage.googleapis.com/index.html 下载最新版本它看起来像“chromedriver_mac32.zip”(如果是 32 位的也没关系) ,它也适用于 64 位 MAC)
  3. 如果您下载的 chromedriver 位于项目文件夹内且如下所示,请使用此代码打开 Chrome:..Project 文件夹/Chrome/chromedriver

     System.setProperty("webdriver.chrome.driver", 
     System.getProperty("user.dir")+"/Chrome/chromedriver");
     driver=new ChromeDriver();
    
    Run Code Online (Sandbox Code Playgroud)


Hus*_*urd 6

有时您会遇到旧版本的问题,chromedriver并且在尝试使用此命令进行安装时:

brew cask install chromedriver
Run Code Online (Sandbox Code Playgroud)

它向您显示以下内容:

Error: It seems there is already a Binary at '/usr/local/bin/chromedriver'; not linking.
Run Code Online (Sandbox Code Playgroud)

但是,您可以执行以下步骤:

brew cask reinstall chromedriver
Run Code Online (Sandbox Code Playgroud)

如果仍然显示相同的错误,则可以使用以下命令将其删除

rm /usr/local/bin/chromedriver
Run Code Online (Sandbox Code Playgroud)

然后重新安装

brew cask install chromedriver
Run Code Online (Sandbox Code Playgroud)

您应该拥有chrome驱动程序的最新版本


Gio*_*ous 5

我想你有几个选择。

  • 手动下载 chrome 驱动程序并将其添加到您的PATH,
  • 或使用webdriver_manager

手动下载chromedriver

第一个选项是手动下载 chromedriver 并将其添加到您的PATH

第 1 步:下载 chromedriver

# You can find more recent/old versions at http://chromedriver.storage.googleapis.com/
wget http://chromedriver.storage.googleapis.com/81.0.4044.69/chromedriver_mac64.zip
Run Code Online (Sandbox Code Playgroud)

第 2 步:将 chromedriver 添加到您的PATH(例如/usr/local/bin

unzip chromedriver_mac64.zip
cp chromedriver /usr/local/bin
Run Code Online (Sandbox Code Playgroud)

你现在应该可以运行了

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://localhost:8000')
Run Code Online (Sandbox Code Playgroud)

没有任何问题


使用 webdriver_manager

或者,您可以使用webdriver_manager包含大多数 Web 驱动程序的程序。

首先安装它pip

pip install webdriver_manager
Run Code Online (Sandbox Code Playgroud)

特别是对于 Chrome,你应该这样做

from webdriver_manager.chrome import ChromeDriverManager


browser = webdriver.Chrome(ChromeDriverManager().install())
browser.get('http://localhost:8000')
Run Code Online (Sandbox Code Playgroud)