
Selenium trifft Proxy IP: Das Fenster ist endlich kaputt!
Brüder, die sich mit Automatisierungstests beschäftigen, sollten wissen, dass sie bei der Verwendung von Selenium zur Simulation von echtem Benutzerverhalten am meisten Angst haben, auf eine blockierte IP zu stoßen. Wenn Sie nicht einige Proxy-IP haben, wird das Projekt in einer Minute gelb sein. Heute werden wir Ihnen beibringen, wie man Proxy-IP und CSS-Selektor dieser beiden magischen Werkzeuge in ein Stück der Nutzung.
Proxy IP's Achtzehn Wege
Zunächst einmal, lassen Sie uns sagen, eine wahre Geschichte: Im vergangenen Jahr gibt es ein Team von E-Commerce-Preisvergleich, nicht hängen die Agenten direkt klettern eine Plattform Daten, die Ergebnisse der halben Stunde wurde mehr als 200 Konten gesperrt. Später geändertDynamischer Wohnsitz-Proxy für ipipgoin Verbindung mit der Rotationsstrategie die Erfolgsquote bei der Datenerhebung von 231 TP3T auf 981 TP3T erhöht.
Die Wunder der Proxy-IPs in Automatisierungsszenarien:
- Fälschung der echten Geolokation (z. B. Fang von regional begrenzten Waren)
- Durchbrechen Sie die Frequenzgrenze für einzelne IP-Anfragen
- Verhindern Sie die Erkennung von Merkmalen (einige Websites nehmen Browser-Fingerabdrücke)
CSS-Selektoren: die Sticknadel zur Positionierung von Elementen
Warum lieben alte Autofahrer CSS-Selektoren? Um zum Beispiel alle Schaltflächen auf der Seite mit der Kategorie "Sofort-Kaufen" zu finden, müssten Sie XPath verwenden, um zu schreiben//[enthält(@class,'buy-now')]und CSS direkt.jetzt-kaufenEs ist vollbracht. Der Unterschied ist so groß wie der zwischen Erdnüssen, die man mit Stäbchen aufhebt, und solchen, die man mit einem Löffel schöpft.
Beispiel-Code
from selenium.webdriver import ChromeOptions
Hier ändern Sie die Proxy-Informationen, die von ipipgo bereitgestellt werden
proxy = "123.123.123.123:8888"
Optionen = ChromeOptions()
options.add_argument(f'--proxy-server={proxy}')
driver = webdriver.Chrome(options=options)
Bestimmen Sie das Suchfeld mit CSS
such_box = driver.find_element_by_css_selector("inputkw.s_ipt")
Das Geheimnis der Koordinierung des Gold Matches
Nennen Sie ein paar Schlaglöcher, in die man leicht hineinfallen kann:
- Wenn die Proxy-IP fehlschlägt, denken Sie daran, dieMechanismus der Wiederholungsprüfung(Es wird empfohlen, die API von ipipgo zu verwenden, um die IP automatisch zu ändern)
- CSS-Positionierung trifft auf dynamische Klasse, versuchen Sie Attributselektor
[name^='dynamic_'] - Überprüfen Sie, ob der Proxy in Kraft ist: Besuchen Sie
https://httpbin.org/ipSehen Sie sich die Rückgabe IP
QA Time: Ein Leitfaden zur Vermeidung der Grube
F: Was sollte ich tun, wenn meine Proxy-IP plötzlich ausfällt?
A: ipipgo's empfohlenDynamic Residential (Enterprise Edition)Paket mit eigenem IP-Gesundheitscheck, das ausgefallene Knoten automatisch zurückweist.
Q:CSS-Positionierung kann das Element immer nicht finden?
A: 80% der Seite ist noch nicht geladen, fügen Sie eine ausdrückliche Wartezeit hinzu:
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".list-item")))
das richtige Werkzeug spart Aufwand und führt zu besseren Ergebnissen
Kürzlich unterstützte ich einen Kunden bei der grenzüberschreitenden Datenerfassung im elektronischen Handel mit ipipgo'sStatische WohnungsvermittlerMit CSS-Positionierung wurden in 3 Tagen 200.000 Warendaten erfasst. Ihre TK-Linie ist wirklich stabil, und das Auftreten von CAPTCHA ist um die Hälfte geringer als bei der Verwendung gewöhnlicher Proxys.
| Paket Typ | Anwendbare Szenarien |
|---|---|
| Dynamisches Wohnen (Standard) | Routinemäßige Datenerhebung |
| Dynamischer Wohnungsbau (Unternehmen) | Hochfrequente Geschäftsszenarien |
| Statische Häuser | Dienste, die eine feste IP-Adresse erfordern |
Die letzte nörgelnden Satz: nicht gouge die Kosten für die Proxy-IP, ein guter Proxy-Service kann mindestens 30% Debugging-Zeit zu sparen. Vor allem, wenn Sie ein langfristiges Projekt tun, direkt auf dieDas Unternehmenspaket von ipipgoDiese Verkehrspackung ist umgerechnet billiger als ein Milchtee.

