मेरे पास फ़ायरफ़ॉक्स में कई टैब खुलते हैं। मैं फ़ायरफ़ॉक्स में एक विशेष टैब को सक्रिय करना चाहता हूं। यह कैसे किया जा सकता है?फ़ायरफ़ॉक्स के साथ ऑटोआईट
उत्तर
मैं वर्षों में AutoIt छुआ नहीं किया है, लेकिन यह IIRC हो जाएगा:
setMousePos(x, y) // tab position
click("left")
पूरे ब्राउज़र विंडो फोकस दें, तो भेजें आदेश का उपयोग करने के बार-बार यह cntl-टैब भेज जब तक विंडो के शीर्षक है जिस टैब को आप चाहते हैं उसका नाम (साथ में - अंत में मोज़िला फ़ायरफ़ॉक्स)।
यह Ctrl + Tab है, है ना? – grossvogel
मैंने देखा कि ऑटोटाइट का उपयोग कर सभी खिड़की खिताबों के माध्यम से किसी को Alt-Tab के बिना ऐसा करने के लिए किया गया है, लेकिन मुझे नहीं पता कि उन्होंने ऐसा कैसे किया क्योंकि मुझे स्रोत नहीं मिला। – neuromancer
एक यूडीएफ (उपयोगकर्ता परिभाषित कार्य-फ़ाइल शामिल) जिसे FF.au3 कहा जाता है। ऐसा लगता है कि आप जिस फ़ंक्शन को चाहते हैं वह _FFTabSetSelected()
है, शुभकामनाएँ!
नीचे जीन पिंडार की विधि का एक उदाहरण है। इस तरह मैं इसे करूँगा।
#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
FF.au3 में शामिल हैं कि MozRepl इंस्टॉल हो, आप इसे यहां प्राप्त कर सकते हैं: https://github.com/bard/mozrepl/wiki। – MaQleod
ये रहा ...
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 हटा सकते हैं और आप तैयार हैं!
जैसा कि कोपा ने कहा, FF.au3 का उपयोग करें। फंक्शन _FFTabSetSelected($regex,"label")
$regex
दिए गए नाम मिलान वाले पहले टैब का चयन करेगा।
+1 के बारे में 1 लाइन कोड और +1 घटनाओं को न भेजें। जब आप ऑब्जेक्ट्स का उपयोग कर सकते हैं तो सक्रिय विंडो में किसी भी 'प्रेषण' या 'क्लिक' को अनलिंक करें। चयनित टैब सेट करने का यह सही तरीका है। ऐसा करने से आप टैब को अन्य विंडो में हस्तक्षेप किए बिना बंद कर सकते हैं, भले ही विंडोज युक्त टैब छुपा हुआ हो। – erm3nda
Nop ... स्क्रिप्ट गाड़ी है ^^ '... 100 तक की गिनती करने की कोई जरूरत है, और वहाँ के साथ के बाद "भेजें" एक समस्या है:
आप Ctrl + संख्या भेजते हैं = > संख्या 9 से बड़ी नहीं हो सकती है ... क्योंकि दस 2 कारक वाले नंबर हैं, फ़ायरफ़ॉक्स शॉर्टकट के साथ टैब 10 को सक्रिय नहीं कर सकता है।
और जिस तरह से स्क्रिप्ट काम कर रही है, वैसे ही वह एक पल है जब वह ctrl कुंजी जारी करता है .. यह दस नहीं भेजता है, लेकिन ctrl और 1 end शून्य ... और छप !!! यह सिर्फ खिड़की में नंबर भेजो। इसलिए हमें स्क्रिप्ट को सीखना होगा कि दूसरी बार वह $ i = 0 या एक पर वापस आ गया है, सभी टैब देखे गए थे, जारी रखने की कोई आवश्यकता नहीं है, भले ही आप जिस पाठ को खोज रहे हैं, वह नहीं मिला। इसलिए मैंने अपनी खुद की लिपि पुरानी पर आधारित बनाई:
##
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
##
मैं चाहता हूं कि यह अपने नाम पर आधारित टैब को सक्रिय करे, न कि इसकी स्थिति पर। – neuromancer
माउसक्लिक ("बाएं", एक्स, वाई,) यह होगा कि आप ऑटोआईटी v3 में कहीं भी कैसे क्लिक करेंगे। – Copas