首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从python启动selenium (subprocess.Popen与os.system)

从python启动selenium (subprocess.Popen与os.system)
EN

Stack Overflow用户
提问于 2011-04-09 04:28:49
回答 2查看 1.5K关注 0票数 0

在引导测试时,我在python中使用subprocess.Popen启动selenium 2JAR文件。

这在FF上运行得很好,但是当我尝试启动google chrome时,它无法加载页面(得到一个“哇,快照”的-error),它试图在一个奇怪的地方查找它的个人资料:$SELENIUM_JAR/"/var/folders/Qg/QgltsVp+FL0PDThAc5yUeE+++TM/-Tmp-/customProfileDir2e33faaabf3d4fb18491510228814229"/Default/Bookmarks

作为一个测试,我尝试手动启动selenium,它运行得很好,接下来我尝试使用os.system,令我惊讶的是,它运行得很好。

但是,使用os.system有很多缺点,比如不能杀死selenium,也不能捕获输出。

我的open命令如下所示:

代码语言:javascript
复制
self.p = subprocess.Popen(to_execute, env=os.environ, shell=True, cwd=self.path_to_selenium, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

其中to_executejava -jar selenium-server.jar -userExtensions user-extensions.js -port 4444

我可以补充说,我已经尝试了修改shell=False,删除stdio,并通过‘/bin/bash -c’启动,但没有任何不同的结果

你知道我错过了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-01 08:13:28

我将简单地接受这个问题与python无关,而是与我的框架有关。

票数 0
EN

Stack Overflow用户

发布于 2011-04-09 04:44:06

尝试将to_execute设置为列表而不是字符串,如下所示:

代码语言:javascript
复制
to_execute = [
    'java', 
    '-jar', 'selenium-server.jar',
    '-userExtensions', 'user-extensions.js',
    '-port', '4444']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5600445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档