我正在尝试编译一些我用Python和库Selenium编写的代码.但是,Selenium会指定要使用的浏览器
例如
driver = webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)
因此,如果我将程序编译成.exe或其他形式的可执行文件,然后将其运行到没有Firefox的计算机中,它将无法正常工作.那么有没有办法告诉Selenium只使用默认浏览器?或者有一种方法让我在同一个程序文件夹上有一个可移植版本的Firefox(有点像Tor Bundle那样)所以它有效吗?
我想到了创建一堆嵌套的try/excepts并以这种方式尝试每个可能的浏览器的解决方案,但我认为可能有更好的方法.
编辑:如果有人指出我在wxPython窗口中显示selenium的一般方向,我也将不胜感激.
所以我正在为我的编程语言类做一些练习问题,其中一个任务是创建一个脚本"MyEval",它允许你做简单的嵌套加法和乘法.因此,例如程序将能够执行此操作(MyEval '(1 +(3 *4)))或更深入,但无需进行减法或超过2个数字和运算符.所以不那么复杂.然而,我的思绪是炒的,我会喜欢一些指导.这就是我到目前为止所拥有的
#lang racket
(define ns (make-base-namespace))
(define (MyEval lis)
(cond
[(and ; neither is a list and can be evaluated
(not(list? (car lis)))
(not(list? (caddr lis)))
)
(eval (cons (cadr lis) (list (car lis) (caddr lis)) ) ns)]
[(list? (car lis))
(MyEval (car lis))]
[(list? (caddr lis))
(MyEval (caddr lis))]
) ;end of cond
) ;end of define
Run Code Online (Sandbox Code Playgroud)
但你们可能会注意到这只会解决最后的内部括号,所以如果我这样做,(MyEval '(1 + (1 + 2)))我会得到3,而不是4.任何指导或提示都会受到赞赏,我不知道我的标题有多准确,但如果不是适当的请告诉我.
谢谢!