Δώστε τον διακομιστή μεσολάβησης ως δυνατότητα συνεδρίας περιήγησης πριν από το driver$open(), σε μια εγκατάσταση RSelenium της οποίας ο διακομιστής WebDriver δέχεται το πρωτόκολλο συνεδρίας:

browser_proxy <- list(
  proxyType = 'manual',
  httpProxy = 'proxy.example:8080',
  sslProxy = 'proxy.example:8080'
)

driver <- RSelenium::remoteDriver(
  remoteServerAddr = 'webdriver.example',
  port = 4444L,
  browserName = 'chrome',
  extraCapabilities = list(proxy = browser_proxy)
)
driver$open()

Το remoteServerAddr προσδιορίζει την υπηρεσία WebDriver. Η δυνατότητα περιγράφει πού πηγαίνει το πρόγραμμα περιήγησης στη συνέχεια. Μια ρύθμιση διακομιστή μεσολάβησης HTTP στην R από μόνη της δεν διαμορφώνει αυτή τη διαδρομή.

Χρησιμοποιήστε το host:port στα httpProxy και sslProxy. Το τελευταίο επιλέγει προορισμούς HTTPS· δεν υποδηλώνει ακροατή μεσολάβησης προστατευμένο με TLS. Ένας δημόσιος υποψήφιος HTTP από τη λίστα διακομιστών μεσολάβησης HTTP παρέχει κεντρικό υπολογιστή και θύρα για αυτά τα πεδία, εφόσον ο κεντρικός υπολογιστής του προγράμματος περιήγησης μπορεί να τον φτάσει.

Ποια αποτυχία συνέβη πρώτη;

Αν απορριφθεί το άνοιγμα της συνεδρίας, ελέγξτε τη συμβατότητα του πρωτοκόλλου πριν αλλάξετε το τελικό σημείο του διακομιστή μεσολάβησης. Η πηγή remoteDriver του RSelenium υποβάλλει παλαιό desiredCapabilities· ένας αυθαίρετος τρέχων διακομιστής WebDriver μπορεί να απορρίψει αυτή τη μορφή πριν υπάρξει πρόγραμμα περιήγησης για να δοκιμάσει τη διαδρομή.

Αν η συνεδρία ανοίγει αλλά η πλοήγηση αποτυγχάνει, ελέγξτε την προσβασιμότητα από τον πραγματικό κεντρικό υπολογιστή του προγράμματος περιήγησης. Για ένα κοντέινερ ή κόμβο Grid, το localhost σημαίνει αυτόν τον κόμβο, όχι τον σταθμό εργασίας R.

Σχετικά άρθρα