<p>提供python脚本的完整路径,即:</p>
<pre><code>shell_exec('python /full/path/to/hello.py');
</code></pre>
<p>如果您想安全起见,还需要提供python二进制文件的完整路径。在</p>
^{pr2}$
<p>要找到python二进制文件的完整路径,请打开shell并键入:</p>
<pre><code>which python
</code></pre>
<hr/>
<ol>
<li>确保apache用户对<code>hello.py</code>具有执行权限。在</li>
<li>我在你的html上没有看到任何带有文本“<em>call another page</em>”的元素。在</li>
</ol>
<hr/>
<p><strong>更新:</strong></p>
<p>也可以使用python的<a href="https://docs.python.org/2/library/simplehttpserver.html" rel="nofollow">SimpleHTTPServer</a>,类似于:</p>
<pre><code>from BaseHTTPServer import BaseHTTPRequestHandler
import urlparse
class GetHandler(BaseHTTPRequestHandler):
def do_GET(self):
parsed_path = urlparse.urlparse(self.path)
self.send_response(200)
self.end_headers()
#self.wfile.write(message)
if (parsed_path.query == "LightON"):
from selenium import webdriver
driver=webdriver.Firefox()
driver.get("http://stackoverflow.com")
elem1 = driver.find_element_by_link_text("Questions")
elem1.click()
self.wfile.write("Command Executed")
return
if __name__ == '__main__':
from BaseHTTPServer import HTTPServer
server = HTTPServer(('localhost', 8080), GetHandler)
print 'Starting server, use <Ctrl-C> to stop'
server.serve_forever()
</code></pre>
<hr/>
<p>上面的代码将在端口<code>8080</code>上打开一个<em>webserver</em>,并等待一个<code>LightON</code>请求,在接收到它之后,执行<code>selenium</code>代码。在</p>
<p>要激活它,只需创建一个指向它的链接,比如</p>
<pre><code><a href="http://localhost:8080/LightON"> LightON </a>
</code></pre>
<hr/>
<p>PS:我已经测试了代码,它按预期工作。在</p>