【发布时间】:2020-11-15 15:22:07
【问题描述】:
我正在构建一个简单的自动化应用程序,它将使用 Electron JS 提供良好的 GUI,然后使用 Python Selenium 来自动化任务。
我刚开始尝试运行电子 JS 应用程序时,它显示没有名为 selenium 的模块。
这是我的 python (demo.py)
import time
import re
from selenium import webdriver
import webbrowser
import sys
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get('https://example.com')
userid = browser.find_element_by_id('user')
time.sleep(1)
userpass = browser.find_element_by_id('password')
time.sleep(1)
userid.send_keys('aafasdf@gmail.com')
time.sleep(1)
userpass.send_keys('#jlasdjf#')
time.sleep(1)
userid.send_keys(Keys.RETURN)
userid.clear()
browser.refresh()
time.sleep(5)
print('Hello from Python!')
sys.stdout.flush()
And the goes my index.js file
-
function some(){
var ps = require("python-shell")
var path = require("path")
var options = {
scriptPath : path.join(__dirname,'../seleniumBro/'),
pythonPath : '/usr/local/bin/python3.8'
}
ps.PythonShell.run('../../seleniumBro/demo.py', options, function (err, results) {
if (err) throw err;
// swal(results[0]);
console.log(results[0])
});
}
当我运行应用程序时,我在控制台中收到此错误。
index.js:12 Uncaught Error: ModuleNotFoundError: No module named 'selenium'
at PythonShell.parseError (/Users/rahul/Desktop/justDev/electronBro/hello-world/node_modules/python-shell/index.js:258:21)
at terminateIfNeeded (/Users/rahul/Desktop/justDev/electronBro/hello-world/node_modules/python-shell/index.js:141:32)
at ChildProcess.<anonymous> (/Users/rahul/Desktop/justDev/electronBro/hello-world/node_modules/python-shell/index.js:133:13)
at ChildProcess.emit (events.js:223:5)
at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
----- Python Traceback -----
File "/Users/rahul/Desktop/justDev/seleniumBro/demo.py", line 3, in <module>
from selenium import webdriver
我在 MAC 操作系统上。这也是新的。请帮忙。
【问题讨论】:
-
仅供参考,硒也可用于节点。否则,您需要以某种方式将 python 与您的电子应用程序一起分发。
-
@pguardiaro 嘿,感谢您提供的信息。我有两个问题: 1:我应该使用 Node JS 而不是 Python? 2:我可以用 Node JS Selenium 做同样的自动化吗?
-
几乎相同,但还有更多等待。另一个想法是从电子切换到烧瓶,如果您对 Python 更熟悉,这可能是要走的路。
-
再次感谢。我对电子和 Python 都是新手,甚至可以学习 Node.Js。我希望这应该有效。
标签: python python-3.x selenium selenium-webdriver browser-automation