Furnizați proxy-ul ca capacitate de sesiune a browserului înainte de driver$open(), într-un deployment RSelenium al cărui server WebDriver acceptă protocolul de sesiune:

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 identifică serviciul WebDriver. Capacitatea descrie unde merge browserul în continuare. O setare de proxy HTTP în R singură nu configurează acea rută a browserului.

Folosiți host:port în httpProxy și sslProxy. Al doilea alege destinații HTTPS; nu implică un ascultător de proxy protejat cu TLS. Un candidat HTTP public din lista de proxy-uri HTTP oferă un host și un port pentru aceste câmpuri, cu condiția ca hostul browserului să poată ajunge la el.

Care defecțiune a apărut prima?

Dacă deschiderea sesiunii este respinsă, verificați compatibilitatea protocolului înainte de a schimba endpointul proxy-ului. Sursa remoteDriver din RSelenium trimite desiredCapabilities vechi; orice server WebDriver actual poate respinge acel format înainte de a exista un browser pentru a testa ruta.

Dacă sesiunea se deschide dar navigarea eșuează, verificați accesibilitatea din hostul real al browserului. Pentru un container sau un nod Grid, localhost înseamnă acel nod, nu stația de lucru R.

Articole similare