【问题标题】:Can't use WebElement Nodejs无法使用 WebElement Nodejs
【发布时间】:2018-05-18 15:39:22
【问题描述】:

关于使用

WebElement img = driver.findElement(By.id("abc"));

我收到以下错误 -

WebElement img = driver.findElement(webdriver.By.id('captchaimg'));
           ^^^

SyntaxError: Unexpected identifier
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:616:28)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:191:16)
    at bootstrap_node.js:612:3

我已经安装的包 -

硒网络驱动程序

色度驱动

网络驱动程序

版本 -

  • 节点 8.11.2
  • selenium-webdriver 4.0.0-alpha.1
  • chromedriver 2.38(从here下载)

【问题讨论】:

  • 显示你的nodejs和selenium-webdriver版本,你需要使用更高的nodejs
  • @yong 我已经添加了所有使用过的软件包的版本,如果你需要其他的东西你可以问
  • 我从 Cruisepandey 更新了答案。

标签: javascript node.js selenium selenium-webdriver


【解决方案1】:

试试这个:

var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder().
   withCapabilities(webdriver.Capabilities.chrome()).
   build();

driver.get('your URL');  
//WebElement img = driver.findElement(webdriver.By.id('abc')); 
// We can't use `WebElement` at here, in javascript, 
// we can't declare the type of variable like Java.
// In your case, JavaScript will treat `WebElement` as variable name,
// Because there already has a variable name, JavaScript don't know 
// how to deal with the following `img`.
// You should change `WebElement` to `var` or `const`

var img = driver.findElement(webdriver.By.id('abc')); 

【讨论】:

  • 不工作还是同样的错误,你能把需要安装的包也贴出来吗,也许我错过了一个
  • Node 内置包管理器,可以使用 npm install selenium-webdriver 命令
  • 我也在使用它,但不知道为什么它不起作用...顺便说一句,我添加了完整的错误消息,请检查它是否有帮助
  • @yong :听起来合乎逻辑!怪物试一试!它可能有效!
猜你喜欢
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多