小编gse*_*tle的帖子

以编程方式打开浏览器选项卡列表

有没有办法以编程方式通过索引获取浏览器中打开的选项卡列表

例如,假设Google Chrome已打开,有两个标签.
在程序中,一行如下:

tabs_list = list_tabs(hwnd)
Run Code Online (Sandbox Code Playgroud)

...其中hwnd是整个Chrome实例窗口的句柄,tabs_list是一个字典,如:

[
0 : 'http://stackoverflow.com/',
1 : 'http://www.coolstuffff.com/'
]
Run Code Online (Sandbox Code Playgroud)

(...或者可能是窗口的标题而不是网址)

如果是这样,那么可以从带有键盘命令的Python脚本,控制 - (CTRL-),如control-1或control-2,将焦点集中到其中一个.


稍后添加的编辑试图帮助澄清:想象一下本地wxPython应用程序,您已经知道如何在本地运行的wxPython应用程序中激活同一个框上的给定Chrome实例,并且该浏览器实例打开了多个选项卡,并且现在,您希望确保某个选项卡具有焦点,以便能够与正在显示的网页进行交互(例如,可以使用CTRL-A CTRL-C来获取其内容).这个问题不是关于发布键盘命令,这是已知的,问题是如何获得打开的选项卡列表,如果可能的话,谢谢.

python browser scripting tabs

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

QSettings():如何保存到当前工作目录

对于可以直接从闪存/笔/ USB /跳/拇指驱动器运行的应用程序,为了便于从一台机器移动到另一台机器,将用户设置存储在记忆棒上的同一目录中是有意义的.程序正在运行(而不是每台机器的Windows/Mac/Linux用户或系统目录).

QSettings()很方便,可以告诉它使用当前的工作目录吗?

这是一个小例子程序,它使用QSettings()保持其运行的屏幕位置:

from PySide import QtGui, QtCore
from PySide.QtGui import QTabWidget, QApplication
from PySide.QtCore import QSettings

class AbcApp(QTabWidget):
    def __init__(self):
        super(AbcApp, self).__init__()

        self.settings = QSettings(QSettings.IniFormat,QSettings.SystemScope, '__MyBiz', '__settings')
        self.settings.setFallbacksEnabled(False)    # File only, not registry or or.

        # setPath() to try to save to current working directory
        self.settings.setPath(QSettings.IniFormat,QSettings.SystemScope, './__settings.ini')

        # Initial window size/pos last saved
        self.resize(self.settings.value("size", QtCore.QSize(270, 225)))
        self.move(self.settings.value("pos", QtCore.QPoint(50, 50)))

        self.tab = QtGui.QWidget()
        self.textEdit = QtGui.QTextEdit(self.tab)
        self.textEdit.setHtml('<font color=grey>[QTextEdit area]</font><p><center><font color=blue size=4><b>Allo Woyld</b></font></center>')
        self.addTab(self.tab, 'tab1')

    def closeEvent(self, e):
        # …
Run Code Online (Sandbox Code Playgroud)

python pyqt4 pyside

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

根据名称作为列表中的字符串调用函数

Terms: 
talib: Technical Analysis Library (stock market indicators, charts etc)
CDL: Candle or Candlestick
Run Code Online (Sandbox Code Playgroud)

简短版本:我想根据字符串 'some_function' 运行 my_lib.some_function()

在 quantopian.com 上,为了简洁起见,我想在循环中调用所有以 CDL 开头的 60 个 talib 函数,例如 talib.CDL2CROWS()。首先将函数名称作为字符串提取,然后通过与字符串匹配的名称运行函数。

这些 CDL 函数都采用相同的输入,即一段时间内的开盘价、最高价、最低价和收盘价列表,这里的测试仅使用长度为 1 的列表来简化。

import talib, re
import numpy as np

# Make a list of talib's function names that start with 'CDL'
cdls = re.findall('(CDL\w*)', ' '.join(dir(talib)))
# cdls[:3], the first three like ['CDL2CROWS', 'CDL3BLACKCROWS', 'CDL3INSIDE']

for cdl in cdls:
    codeobj = compile(cdl + '(np.array([3]),np.array([4]),np.array([5]),np.array([6]))', 'talib', 'exec')
    exec(codeobj)
    break
# …
Run Code Online (Sandbox Code Playgroud)

python stocks exec

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

使用selenium替换textarea中的字符串,"键盘无法访问"

我想用Selenium修改textarea中的部分文本.textarea似乎几乎就像是只读的.

在这个使用示例算法的非常简单的示例中,能够更改此行上的库存ID会很棒:

context.aapl = sid(24)
Run Code Online (Sandbox Code Playgroud)

......对于这样的事情:

context.aapl = sid(39840)
Run Code Online (Sandbox Code Playgroud)

...这是特斯拉股票ID.变量名将不再有意义,无所谓,只是一个开始.

这个Selenium代码可以打开样本而无需登录.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

t = webdriver.Firefox()     # t stands for tab as in browser tab in my mind
t.implicitly_wait(10)
t.get('https://www.quantopian.com/algorithms/')
o = t.find_element_by_xpath("//body")       # o stands for object
o.send_keys(Keys.ESCAPE)                    # clearing the popup
o = t.find_element_by_link_text("Hello World Algorithm")
o.click()
''' for the fun of it if you want to run the backtest
o = t.find_element_by_xpath('//body')
o.send_keys(Keys.CONTROL + 'b')
o.send_keys(Keys.ESCAPE)
'''
print t.find_element_by_id('code-area').text
Run Code Online (Sandbox Code Playgroud)

这是输出

1 …
Run Code Online (Sandbox Code Playgroud)

python selenium

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

标签 统计

python ×4

browser ×1

exec ×1

pyqt4 ×1

pyside ×1

scripting ×1

selenium ×1

stocks ×1

tabs ×1