如何在不重新啟動phantomjs的情況下修改HTTP代理?

N叔談資料採集發表於2023-03-07

如何在不重新啟動phantomjs的情況下修改HTTP代理?


使用Selenium和PhantomJS模擬瀏覽器訪問是一種非常常見的自動化測試技術,而修改HTTP代理也是一個常見需求,因為有時候我們需要測試在不同地理位置下的網站效能,或者需要繞過一些IP限制等等。


在不重新啟動PhantomJS的情況下修改HTTP代理,可以使用PhantomJS的Web Driver服務(PhantomJSDriverService)來實現。具體步驟如下:


1.首先,建立一個PhantomJS驅動服務物件,並設定需要的引數,包括HTTP代理和埠號等等。程式碼如下:

PhantomJSDriverService service = new PhantomJSDriverService.Builder()
        .usingPhantomJSExecutable(new File("path/to/phantomjs.exe"))
        .usingAnyFreePort()
        .withProxy("proxy-ip-address:proxy-port")
        .build();


2.然後,使用PhantomJS驅動服務物件建立一個PhantomJS WebDriver物件,如下所示:

WebDriver driver = new PhantomJSDriver(service);


3.當需要修改HTTP代理時,可以使用PhantomJS WebDriver的executePhantomJS()方法來執行JavaScript程式碼,以修改HTTP代理。示例程式碼如下:

String script = "phantom.setProxy('new-proxy-ip', new-proxy-port);";
((JavascriptExecutor) driver).executePhantomJS(script);


4.最後,當測試完成後,需要關閉WebDriver和服務物件。示例程式碼如下:

driver.quit();
service.stop();


透過以上步驟,我們可以在不重新啟動PhantomJS的情況下,透過修改HTTP代理來模擬不同的網路環境,從而完成自動化測試。


當然,如果你使用HTTP代理質量不給力,也很難完成自動化測試。工欲善其事必先利其器,所以我們需要挑選到好的HTTP代理才能更有助於我們的工作完成。


那,要如何挑選HTTP代理呢?


首先,我們需要根據自己專案的成本來核算採購HTTP代理的預算是多少,多看看市面上常見的幾家價格:快代理、青果網路、小象代理、熊貓代理、阿布雲億牛雲等。


這邊會給大家一個市面上隧道HTTP代理比較成熟的廠商價格:

HTTP代理型別

分類

代表廠商

通道數

併發請求

月費

隧道代理

定時換IP週期

(1分鐘)

快代理

1

5

272

青果網路

10

5

390

小象代理

1

5

399

熊貓代理

1

5

420

阿布雲

1

5

429

億牛雲

1

5

399

動態轉發

快代理

1

5

388

青果網路

1

5

360

小象代理

1

5

399

熊貓代理

1

5

420

阿布雲

1

5

429

億牛雲

1

5

399


⭐  這邊值得一提的是,青果網路的通道數是10,其他幾家都是1。


我們根據自己需要的業務場景來選擇隧道代理的具體種類,是適合定時切換週期的,還是適合動態轉發型別的?適合自己的才是最好的。


其次,最重要的當然要屬:測試


如果我們在購買前做好了測試,會避免很多坑,就拿我針對青果網路的隧道HTTP代理產品做的測試部分截圖:


如何在不重新啟動phantomjs的情況下修改HTTP代理?

如何在不重新啟動phantomjs的情況下修改HTTP代理?

如何在不重新啟動phantomjs的情況下修改HTTP代理?


總而言之,效果還是很不錯的。

如何在不重新啟動phantomjs的情況下修改HTTP代理?


有相關需求的可以去找他們要產品測試。


ps:看重其他廠商的,也建議多測試哈,效果為王!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70025002/viewspace-2938500/,如需轉載,請註明出處,否則將追究法律責任。

相關文章