我在Firefox中打开了几个标签。我希望AutoIt激活Firefox中的特定选项卡。怎么办呢?
答案 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")