AutoIt with Firefox

时间:2010-06-02 00:35:55

标签: firefox autoit

我在Firefox中打开了几个标签。我希望AutoIt激活Firefox中的特定选项卡。怎么办呢?

6 个答案:

答案 0 :(得分:5)

给整个浏览器窗口焦点,然后使用send命令重复发送它cntl-tab,直到窗口的标题是你想要的标签的名称(最后用Mozilla Firefox)。

答案 1 :(得分:5)

有一个名为FF.au3的UDF(用户定义函数-include文件)。看起来你想要的功能是_FFTabSetSelected(),祝你好运!

以下是Jeanne Pindar方法的一个例子。这就是我的方式。

#include <array.au3>

Opt("WinTitleMatchMode", 2)

activateTab("Gmail")
Func activateTab($targetWindowKeyphrase)
    WinActivate("- Mozilla Firefox")
    For $i = 0 To 100
        If StringInStr(WinGetTitle(WinActive("")),$targetWindowKeyphrase) Then
            MsgBox(0,"Found It", "The tab with the key phrase " & $targetWindowKeyphrase & " is now active.")
            Return
        EndIf
        Send("^{TAB}")
        Sleep(200)
    Next
EndFunc

答案 2 :(得分:4)

你去......

AutoItSetOption("WinTitleMatchMode", 2)

$searchString = "amazon"

WinActivate("Mozilla Firefox")
For $i = 0 To 100
    Send("^" & $i)
    Sleep(250)
    If Not(StringInStr(WinGetTitle("[ACTIVE]"), $searchString) = 0) Then
        MsgBox(0, "Done", "Found it!")
        ExitLoop
    EndIf
Next

只需删除MsgBox就可以了!

答案 3 :(得分:2)

正如Copas所说,使用FF.au3。函数_FFTabSetSelected($regex,"label")将选择名称与$regex匹配的第一个标签。

答案 4 :(得分:0)

Nop ......剧本有点错误^^&#39; ...不需要数到100,并且&#34;发送&#34;在它之后:

如果你发送ctrl +号码 =&gt;数字不能大于9 ...因为10是带有2个字符的数字,Firefox无法通过快捷方式激活标签10。

顺便说一下,当脚本工作时,有一刻他会释放ctrl键..它不会发送十,但是ctrl和1结束零......然后飞溅!它只是在窗口中发送数字。 所以我们需要学习脚本,第二次他回到$ i = 0或者1,看到所有标签,不需要继续,即使你正在寻找的文字不是找到。 所以我根据旧脚本创建了自己的脚本:

##
AutoItSetOption("WinTitleMatchMode", 2)

$searchString = "The string you're looking for"
Local $o = 0
WinActivate("The Name of the process where you're searching")
For $i = 0 To 9
   Send("^" & $i)
   Sleep(250)
      if ($i = 9) Then
         $o += 1
      EndIf
      If not (StringInStr(WinGetTitle("[ACTIVE]"), $searchString) = 0) Then
            MsgBox("","","Found it !") ;your action,  the text was found.
            ExitLoop
      ElseIf ($o = 1) Then
            MsgBox("","","All tab seen, not found...") ;your action, the text was not found, even after looking all title.
            ExitLoop
      EndIf
   Next
##

答案 5 :(得分:-4)

我多年没有接触过AutoIt,但是IIRC将是:

setMousePos(x, y)    // tab position
click("left")