小编Pau*_* T.的帖子

为另一个用户设置Linux环境变量(sudo)

我们如何在机器上为另一个用户设置环境变量?我想运行一些脚本sudo -u xyz但我需要在运行xyz用户脚本之前设置一些环境变量,这与我的登录不同.

linux shell sudo environment-variables

12
推荐指数
2
解决办法
1万
查看次数

webdriver等待多个元素之一出现

有没有办法让a webDriverWait等待一些元素出现,并根据出现的元素采取相应的行动?

目前我WebDriverWait在try循环中执行一个操作,如果发生超时异常,我会运行替代代码,等待另一个元素出现.这看起来很笨拙.有没有更好的办法?这是我(笨拙)的代码:

try:
    self.waitForElement("//a[contains(text(), '%s')]" % mime)
    do stuff ....
except TimeoutException:
    self.waitForElement("//li[contains(text(), 'That file already exists')]")
    do other stuff ...
Run Code Online (Sandbox Code Playgroud)

它需要等待整整10秒才能查看该文件是否已存在于系统上的消息.

该函数waitForElement只执行了许多WebDriverWait调用:

def waitForElement(self, xPathLocator, untilElementAppears=True):
    self.log.debug("Waiting for element located by:\n%s\nwhen untilElementAppears is set to %s" % (xPathLocator,untilElementAppears))
    if untilElementAppears:
        if xPathLocator.startswith("//title"):
            WebDriverWait(self.driver, 10).until(lambda driver : self.driver.find_element_by_xpath(xPathLocator))
        else:
            WebDriverWait(self.driver, 10).until(lambda driver : self.driver.find_element_by_xpath(xPathLocator).is_displayed())
    else:   
        WebDriverWait(self.driver, 10).until(lambda driver : len(self.driver.find_elements_by_xpath(xPathLocator))==0)
Run Code Online (Sandbox Code Playgroud)

有人建议以更有效的方式完成这项工作吗?

python selenium webdriver wait selenium-webdriver

10
推荐指数
1
解决办法
5011
查看次数

在Jetty和Tomcat中运行Web应用程序

我有一个网络应用程序,我在Tomcat上运行生产.它使用MySQL连接器,但它没有与war捆绑在一起,而是包含在Tomcat的公共lib目录下,因此我可以通过JNDI访问数据源.

我想用Jetty(开发时)做一些类似的东西,更确切地说是Jetty + Maven.有没有办法让我在通过Maven运行Jetty时在类路径中包含mysql-connector jar(即没有将它捆绑在war文件中)?

另外我应该注意,我正在使用Maven进行构建过程,并将mysql-connector指定为"提供"范围.

java tomcat jndi jetty maven

9
推荐指数
1
解决办法
6211
查看次数

如何判断单击了哪个提交按钮?

我在JSP上的一个表单标记中有几个不同的提交按钮,它们都指向同一个servlet.我需要知道点击了哪个提交按钮.如何找出点击了哪个按钮?

java forms jsp servlets input

8
推荐指数
1
解决办法
2万
查看次数

我们如何处理Python xmlrpclib连接被拒绝?

我不知道我在这里做错了什么,我写了一个RPC客户端试图连接到一个不存在的服务器,我正在尝试处理抛出的异常,但无论我尝试什么我无法弄清楚我应该如何处理这个问题:

def _get_rpc():
    try:
        a = ServerProxy('http://dd:LNXFhcZnYshy5mKyOFfy@127.0.0.1:9001')
        a = a.supervisor
        return a
    except:
        return False

rpc = _get_rpc()
if not rpc:
    print "No RPC"
Run Code Online (Sandbox Code Playgroud)

由于没有服务器运行,我希望输出为"无RPC",但我得到一个例外:

Traceback (most recent call last):
  File "xmlrpctest.py", line 20, in <module>
    if not rpc:
  File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.6/xmlrpclib.py", line 1235, in request
    self.send_content(h, request_body)
  File "/usr/lib/python2.6/xmlrpclib.py", line 1349, in send_content
    connection.endheaders()
  File "/usr/lib/python2.6/httplib.py", line 908, in endheaders
    self._send_output()
  File "/usr/lib/python2.6/httplib.py", line …
Run Code Online (Sandbox Code Playgroud)

python exception-handling xml-rpc xmlrpclib

5
推荐指数
1
解决办法
6400
查看次数

Eclipse:选择Run on Server不会启动Firefox,它会启动Eclipse的内部浏览器

我是Eclipse新手,我已经创建了一个小型Web应用程序,但是当我从Eclipse运行服务器(Tomcat)时,它会在自己的内部Web浏览器中启动该网站.

我想知道是否可以让它启动Firefox例如?

我需要下载Aptana吗?

browser aptana eclipse ide web-applications

5
推荐指数
1
解决办法
1万
查看次数

Selenium IDE测试所有链接

我正在尝试使用Selenium IDE来测试Web应用程序.在一个页面上,有几个链接触发模态窗口.我想测试页面上的所有链接,以确保弹出所有原因模式.

每个链接都有一个"模态"类,所以我想我可以在IDE中更改目标值,css=a.modal但只找到第一个链接.

我找到了一些解决方案,但是他们使用Selenium RC和Java/Python,而这些解决方案无法直接转换为IDE.

我知道IDE不是那么强大,但是我正在为非程序员设置它,直到现在,它对他们来说非常简单.

testing selenium modal-dialog selenium-ide

5
推荐指数
1
解决办法
8709
查看次数

从 pexpect 捕获输出

我遇到了麻烦pexpect。我试图tralics从中读取乳胶方程的输出并发出 MathML 表示,如下所示:

1 ~/ % tralics --interactivemath
This is tralics 2.14.5, a LaTeX to XML translator, running on tlocal
Copyright INRIA/MIAOU/APICS/MARELLE 2002-2012, Jos\'e Grimm
Licensed under the CeCILL Free Software Licensing Agreement
Starting translation of file texput.tex.
No configuration file.
> $x+y=z$
<formula type='inline'><math xmlns='http://www.w3.org/1998/Math/MathML'><mrow><mi>x</mi>   <mo>+</mo><mi>y</mi><mo>=</mo><mi>z</mi></mrow></math></formula>
> 
Run Code Online (Sandbox Code Playgroud)

所以我尝试使用 pexpect 得到公式:

import pexpect
c = pexpect.spawn('tralics --interactivemath')
c.expect('>')
c.sendline('$x+y=z$')
s = c.read_nonblocking(size=2000)
print s
Run Code Online (Sandbox Code Playgroud)

输出具有公式,但开头是原始输入,结尾是一些控制字符:

"x+y=z$\r\n<formula type='inline'><math xmlns='http://www.w3.org/1998/Math/MathML'><mrow><mi>x</mi><mo>+</mo><mi>y</mi><mo>=</mo><mi>z</mi></mrow></math></formula>\r\n\r> \x1b[K"
Run Code Online (Sandbox Code Playgroud)

我可以清理输出字符串,但我必须缺少一些基本的东西。有没有更干净的方法来获得 MathML?

python mathml pexpect

5
推荐指数
1
解决办法
7407
查看次数

subprocess.Popen错误

我在静默模式下运行msi安装程序并在特定文件中缓存日志.以下是我需要执行的命令.

C:\Program Files\ My Installer\Setup.exe /s /v "/qn /lv %TEMP%\log_silent.log"

我用了:

subprocess.Popen(['C:\Program Files\ My Installer\Setup.exe', '/s /v "/qn /lv %TEMP%\log_silent.log"'],stdout=subprocess.PIPE).communicate()[0]
Run Code Online (Sandbox Code Playgroud)

执行命令然而它无法识别操作并且在选择错误选项时给出错误.我已经交叉验证,发现命令只能这样工作.

python subprocess popen

3
推荐指数
1
解决办法
5450
查看次数