如何在Python中使用Selenium WebDriver指定Firefox命令行选项?

时间:2017-02-07 01:38:22

标签: python selenium firefox

我需要将--no-remote传递给通过Python中的Selenium启动的Firefox。有没有办法指定命令行参数?

1 个答案:

答案 0 :(得分:3)

您可以使用package com.example.zhenga1.photojewel; import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import java.lang.Boolean; import java.io.File; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.os.SystemClock; import android.view.View; import android.widget.Toast; import android.widget.Button; import android.widget.TextView; import java.util.TimerTask; import java.util.Timer; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; public class Main3Activity extends Activity implements SensorEventListener{ private Sensor Accel; static private SensorManager Sensor; public float[] linear_acceleration; private float maxdeltax, maxdeltay, maxdeltaz; public float[] gravity; private Boolean bool = Boolean.TRUE; public float[] prevvalue; private float deltax, deltay, deltaz; private FileWriter prnt; private Timer timer; private TimerTask timerTask; private File fold, file; private Button start, stop; private TextView curx,cury,curz; private int count, curd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3); count = 0; initializetimer(); System.out.println("This is the clock time in Mills"+SystemClock.uptimeMillis()); linear_acceleration = new float[3]; start = (Button)findViewById(R.id.button1); stop = (Button)findViewById(R.id.button2); maxdeltax = 0f; maxdeltay = 0f; maxdeltaz = 0f; gravity = new float[3]; fold = new File("sdcard/vibration"); if(!fold.exists()) { fold.mkdir(); } file = new File("sdcard/vibration/data.txt"); int v=0; if(!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } curd = 0; } else { while (file.exists()) { v++; file = new File("sdcard/vibration/data" + v + ".txt"); curd = v; } int d = v-1; file = new File("sdcard/vibration/data"+d+".txt"); if(file.length()>300) { file = new File("sdcard/vibration/data"+d+".txt"); curd = d; } try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } prevvalue = new float[3]; Arrays.fill(prevvalue,0); Sensor = (SensorManager) getSystemService(Context.SENSOR_SERVICE); Accel = Sensor.getDefaultSensor(android.hardware.Sensor.TYPE_ACCELEROMETER); curx = (TextView)findViewById(R.id.textView); cury = (TextView)findViewById(R.id.textView2); curz = (TextView)findViewById(R.id.textView3); displayCurrentValues(0,0,0); try { prnt = new FileWriter(file, Boolean.TRUE); } catch (IOException e) { e.printStackTrace(); } } private void initializetimer() { timerTask = new TimerTask() { @Override public void run() { saveCurVals(maxdeltax,maxdeltay,maxdeltaz); maxdeltax = 0f; maxdeltay = 0f; maxdeltaz = 0f; } }; } public void start(View view) { stop.setEnabled(true); Sensor.registerListener(this, Accel, SensorManager.SENSOR_DELAY_NORMAL); timer = new Timer(); timer.schedule(timerTask, 1000, 1000); start.setEnabled(false); } public void end(View view) { Sensor.unregisterListener(this); displayCurrentValues(0, 0, 0); try { prnt.close(); } catch (IOException e) { e.printStackTrace(); } timer.cancel(); stop.setEnabled(false); start.setEnabled(true); } @Override public void onSensorChanged(SensorEvent event) { deltax = Math.abs(event.values[0]-prevvalue[0]); deltay = Math.abs(event.values[1]-prevvalue[1]); deltaz = Math.abs(event.values[2]-prevvalue[2]); findMaxValues(deltax,deltay,deltax); if(Math.abs(deltax)<1) { deltax=0; } if(Math.abs(deltay)<1) { deltay=0; } if(Math.abs(deltaz)<1) { deltaz=0; } displayCurrentValues(deltax,deltay,deltaz); prevvalue[0] = event.values[0]; prevvalue[1] = event.values[1]; prevvalue[2] = event.values[2]; } private void findMaxValues(float x, float y, float z) { if(maxdeltax < x) { maxdeltax = x; } if(maxdeltay < y) { maxdeltay = y; } if(maxdeltaz < z) { maxdeltaz = z; } } private void displayCurrentValues(float x, float y, float z) { curx.setText("x:"+Float.toString(x)); cury.setText("y:"+Float.toString(y)); curz.setText("z:"+Float.toString(z)); } private void saveCurVals(float x, float y, float z) { count++; try { prnt.write(Float.toString(x) + " " + Float.toString(y) + " " + Float.toString(z) + "\n"); prnt.flush(); }catch (IOException e) { e.printStackTrace(); } if(file.length()>300) { redefineFile(); } } private void redefineFile() { int bigd = curd + 1; file = new File("sdcard/vibration/data"+bigd+".txt"); curd = bigd; try { file.createNewFile(); prnt = new FileWriter(file,Boolean.TRUE); } catch (IOException e) { e.printStackTrace(); } } public void back(View view) { finish(); try { prnt.close(); } catch (IOException e) { e.printStackTrace(); } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { if(accuracy == SensorManager.SENSOR_STATUS_ACCURACY_HIGH) { Toast.makeText(getApplicationContext(),"GOOD QUALITY and ACCURACY SENSOR",Toast.LENGTH_LONG).show(); } } } 提供参数: