Δρομολόγηση των εντολών RemoteWebDriver της Java μέσω proxy
Ρυθμίστε το ClientConfig στον εκτελεστή εντολών όταν το πρόγραμμα Java πρέπει να φτάσει σε απομακρυσμένη υπηρεσία WebDriver μέσω forward proxy.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
Για την πρώτη διαδρομή, ρυθμίστε τον εκτελεστή εντολών της Java:
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.HttpCommandExecutor;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.http.ClientConfig;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var config = ClientConfig.defaultConfig()
.baseUri(URI.create("https://grid.example/"))
.proxy(proxy);
var executor = new HttpCommandExecutor(config);
var driver = new RemoteWebDriver(executor, new ChromeOptions());
Χρησιμοποιήστε το πραγματικό τελικό σημείο Grid, μαζί με τη διαδρομή ανάπτυξής του. Διατηρήστε τις απαραίτητες επιλογές Chrome και τερματίστε τη συνεδρία με driver.quit().
Αυτό είναι το java.net.Proxy για τη σύνδεση HTTP του προγράμματος Java. Η capability org.openqa.selenium.Proxy του Selenium ελέγχει αντίθετα την κίνηση σελίδων του προγράμματος περιήγησης· χρησιμοποιήστε την επιπλέον μόνο αν χρειάζεται proxy και η δεύτερη διαδρομή.
Μια αποτυχία δημιουργίας συνεδρίας ή αποστολής εντολής ανήκει στην πρώτη διαδρομή. Μια μεταγενέστερη πλοήγηση μπορεί να αποτύχει στη δεύτερη. Η ταυτοποίηση στον ενδιάμεσο του προγράμματος Java απαιτεί μέθοδο που υποστηρίζει εκείνη η μεταφορά HTTP· ένα callback ταυτοποίησης του προγράμματος περιήγησης δεν τη ρυθμίζει.