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