gpt4 book ai didi

javascript - Selenium WebdriverJS 甚至不会运行这个例子

转载 作者:搜寻专家 更新时间:2023-11-01 00:07:48 27 4
gpt4 key购买 nike

好吧,我想我已经完成了这里的作业...我这辈子都无法得到 official Selenium Webdriver npm module上类;我卡住了。这是我对所有内容的版本...

Ubuntu 14.04

NodeJS v0.12.0, underneath Express 4.0

Java OpenJDK 1.6.0_34

Chrome Stable 33.0.1750.152

Chromedriver 2.9


我创建了一个 Digital Ocean droplet,并选择了已经安装了 Node 的 Ubuntu 14.04。我 apt-get 安装了 Chrome、Git 和 Java,然后 npm 安装了 PM2 和 Grunt。

我下载了 Chromedriver 2.9,授予它执行权限(chmod a+x),并将它移动到/usr/local/bin。我可以在任何地方运行“chromedriver”,它会显示消息 Starting ChromeDriver (v2.9.248304) on port 9515。此外,netstat -lp 确认 Chromedriver 正在监听端口 9515;它正在工作。

我使用了 Selenium Standalone npm 模块以获取供 selenium-webdriver 模块使用的 Selenium jar。我运行了这些命令...

npm install selenium-standalone@latest -g

selenium-standalone install

它告诉我 Selenium .jar 已经下载到.../usr/local/lib/node_modules/selenium-standalone/.selenium/selenium-server/2.44.0-server.jar

关于最重要的内容... Selenium Webdriver模块。根据 npm 文档,我在我的 Node 应用程序的根目录中运行了这些命令。

export SELENIUM_SERVER_JAR=/usr/local/lib/node_modules/selenium-standalone/.selenium/selenium-server/2.44.0-server.jar

SELENIUM_BROWSER=chrome

我的代码

它基本上直接来自 WebdriverJS documentation .

function init(value, cb) {

console.log('Started task...');

var webdriver = require('selenium-webdriver'),
driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getTitle().then(function(title) {
return title === 'webdriver - Google Search';
});
}, 1000);

driver.quit();

console.log('done');

cb();
}

init(true, function() {

// do other stuff
});

输出

Terminal

我尝试过的其他事情

我读了here你应该用它安装 xvfb 然后运行这个命令...

Xvfb :0 -ac -screen 0 1024x768x24 &

但这并没有什么不同。

我尝试使用 Oracle 的存储库中的 Java 和 OpenJDK 1.7。我还看到了很多可以通过执行 java -jar -flagsandstuff 传递的命令行选项,但这似乎不是使用 Selenium Webdriver 模块的解决方案。我没有想法,很沮丧。

最佳答案

这不值得;有更好的 headless 浏览器模块运行在 PhantomJS 之上。我终于找到了这篇文章,其中包含大约 30 种不同的解决方案!我选择了Nightmare .

Headless Browser and scraping - solutions [closed]

关于javascript - Selenium WebdriverJS 甚至不会运行这个例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28441155/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com