有没有办法使用PhantomJSDriver在PhantomJS中设置用户代理?

时间:2015-02-05 21:51:26

标签: java selenium-webdriver phantomjs user-agent

我一直在寻找一种方法来改变我的PhantomJSDriver中的用户代理,到目前为止尚未找到用户代理。关于Firefox驱动程序的Selenium文档中有一个模糊,但我使用的是PhantomJS。有什么想法吗?

3 个答案:

答案 0 :(得分:5)

无法直接在驱动程序上设置用户代理。具体来说,驱动程序会查找"phantomjs.page.settings.userAgent"属性,因此必须在调用驱动程序之前设置它。

以下是一个用户代理的示例,它最接近PhantomJS 1.x的功能:

String userAgent = "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41 Safari/535.1";
System.setProperty("phantomjs.page.settings.userAgent", userAgent);

答案 1 :(得分:0)

使用最近的<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', { 'packages':['geochart'], 'mapsApiKey': 'AIzaSyD-9tSrke72PouQMnMX-a7eZSW0jkFMBWY' }); google.charts.setOnLoadCallback(drawRegionsMap); function drawRegionsMap() { var data = google.visualization.arrayToDataTable([ ['Country', 'Visited'], ['Australia', 1],['CA', 1], ]); var options = { colorAxis: {colors:['green','green']}, legend: 'none', backgroundColor: '#cce5ff', defaultColor: '#f5f5f5', datalessRegionColor: 'white', }; var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors')); chart.draw(data, options); }; ,更好的方法是通过功能设置用户代理:

PhantomJSDriver

通过DesiredCapabilities caps = new DesiredCapabilities(); caps.setCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0"); WebDriver driver = new PhantomJSDriver(caps); 设置属性似乎已不再有效。

答案 2 :(得分:0)

MyVars