我打开浏览器,点击屏幕上的按钮,点击弹出窗口的按钮,没有问题。唯一的问题是,当我关闭弹出窗口点击按钮“关闭Tor浏览器”,我不能重新连接到我的前一个窗口(主窗口和第一个窗口)。任何提示??
from pywinauto.application import Application
import time
for i in range(0,2):
try:
for i in range(0,1):
try:
app=Application(backend='uia').start('\...\firefox.exe')
app=Application(backend='uia').connect(title='Connect to Tor — Tor Browser',timeout=40)
time.sleep(5)
app.window(best_match='Dialog', top_level_only=True).child_window(best_match='Ver todos los servicios').click()
except Exception:
time.sleep(1)
app2=Application(backend='uia').connect(title='Close Tor Browser',timeout=40)
app2.window(best_match='Dialog', top_level_only=True).child_window(best_match='Cancel').click()
time.sleep(5)
app=Application(backend='uia').connect(title='Connect to Tor — Tor Browser',timeout=40)
top_level_only=True).child_window(best_match='Ver todos los servicios').click()
time.sleep(10)
app.kill()
time.sleep(1)
except Exception:
pass
我可以很容易地打开浏览器,点击屏幕上的按钮,并点击弹出窗口的按钮没有问题。唯一的问题是,当我关闭弹出窗口点击按钮“关闭Tor浏览器”,我不能重新连接到我的前一个窗口(主窗口和第一个窗口)。任何提示??
1条答案
按热度按时间xwmevbvl1#
最好的办法是控制(假设扩展有可交互的弹出窗口[例如,选项,无论什么,一旦你点击/按下指定的热键)如下(kukos到BrowserStack民间,和RobWu RobWu - CRX / page taxomy etc.)。
这是我在这里探索的解决方案-将在评论中留下关于pywinauto方法的替代链接,该方法也应该实现你所需要的(使用对象元素而不是不准确的图片识别,虽然它也可以这样做,我相信,后端方法可能能够为您的情况服务RE:同时使用不同的桌面)。
建议的方法:
1.获取扩展的ID(在相应Webstore页面上的URL中,如果存在,或在设置中的应用程序详细信息中)
[
或
例如https://chrome.yada.yada.yada.then.BOOM./dknlfmjaanfblgfdfebhijalfmhmjjjo
1.将此ID插入到以下url中**
YOURID
**的位置(取出后者,将前者放在其位置):YOURID
* *是的,它有两个https:不要被它的假设所困扰。如果你感到怀疑,请查看下面的参考资料/博客网站。回复:合法性/有效性等¯_()_/¯
https://robwu.nl/crxviewer/?crx=https://chrome.google.com/webstore/detail/dknlfmjaanfblgfdfebhijalfmhmjjjo
这将提供一个如下所示的网页-带有关于扩展名的有用详细信息-每个文件/弹出窗口html组件(LHS),使用RegEx查找要自动化的页面。
只剩下一个html --听起来很有希望,因为它的标题是“popup.html”(这并不罕见)--
1.现在你有了popup.html(我们称之为OPTION_PAGE-在下面的url中使用它(同样,在适当的地方替换你的扩展的详细信息在这个url中的明显位置,瞧!(第一个belo = generaic例如,min是live demo!:)
chrome-extension://**YOUR_ID**/**YOUR_OPTION_PAGE**
变成了(在我的例子中)它打开一个完整的网页,包括相关的交互式/可编程友好的选项页!
(狗头)
**备注/示例:
费奥尔:
1.可更时新/放眼病房
1.不需要进行身体干预的对照试验
1.应该能够在隐藏模式下运行(这将是伟大的-但prop.不允许!:)
1.多流程能力,尤其是需求建模能力
使用虚拟ID登录到noptcha的代码(来吧,试试看-你可能会很幸运!not:))
一些上下文RE:变量/fn:
对于
n
浏览器,向量ps
=[0,1,2,...,n]的p
元素-您可以忽略此元素,并假定d[p]之类的变量仅代表驱动程序,其中driver = webdriver.Chrome(options=o, executable_path=path_exec)
activ(p)激活第p个浏览器-忽略
ss = time.time
(因此ss(0.5)也称为时间。时间(0.5)= 0.5秒延迟)Gif镜头: