Giv RSelenium-browseren sin proxy, når sessionen åbnes
Brug extraCapabilities til browserruten, og skel mellem afvisning af sessionsprotokollen og en browser, der ikke kan nå proxyen.
Angiv proxyen som en browsersessionskapacitet før driver$open(), i en RSelenium-udrulning, hvis WebDriver-server accepterer dens sessionsprotokol:
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 identificerer WebDriver-tjenesten. Kapaciteten beskriver, hvor browseren går hen næste gang. En HTTP-proxyindstilling i R alene konfigurerer ikke den browserrute.
Brug host:port i httpProxy og sslProxy. Sidstnævnte vælger HTTPS-destinationer; det indebærer ikke en TLS-beskyttet proxylytter. En offentlig HTTP-kandidat fra HTTP-proxylisten giver et værtsnavn og en port til disse felter, forudsat at browserværten kan nå den.
Hvilken fejl skete først?
Hvis åbningen af sessionen afvises, skal du kontrollere protokolkompatibilitet, før du ændrer proxyendepunktet. RSeleniums remoteDriver-kilde sender forældede desiredCapabilities; en vilkårlig aktuel WebDriver-server kan afvise det format, før der findes en browser til at teste ruten.
Hvis sessionen åbnes, men navigation mislykkes, skal du kontrollere tilgængeligheden fra den faktiske browservært. For en container eller Grid-node betyder localhost den node, ikke R-arbejdsstationen.