哪里可以找到Java中浏览器首选项的ChromeDriver常量?

时间:2018-05-30 10:47:45

标签: java google-chrome selenium selenium-webdriver selenium-chromedriver

使用Selenium WebDriver,如果我想启动Chrome浏览器,那么首先需要设置系统属性,如 -

import tensorflow as tf

def n_hot_encoding(a, n):
    a = tf.convert_to_tensor(a)
    n = tf.convert_to_tensor(n)
    m = tf.bitwise.left_shift(1, tf.range(n)[::-1])
    shape = tf.concat([tf.ones([tf.rank(a)], dtype=tf.int64), [-1]], axis=0)
    m = tf.reshape(m, shape)
    hits = tf.bitwise.bitwise_and(a[..., tf.newaxis], tf.cast(m, a.dtype))
    return tf.not_equal(hits, 0)

在此,我们提到了System.setProperty("webdriver.chrome.driver", chromeDriverLocation); ,但它已在ChromeDriverService'中定义。因此可以直接使用该常量,如(reference doc) -

wedriver.chrome.driver

但是如果我想在特定位置下载文件,我会在firefox配置文件中提供详细信息,如 -

System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, chromeDriverLocation);

在这里,我们可以看到 FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("browser.download.dir", folder.getAbsolutePath()); profile.setPreference("browser.download.folderList", 2); profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "image/jpeg, application/pdf, application/octet-stream"); profile.setPreference("pdfjs.disabled", true); driver = new FirefoxDriver(profile); } browser.download.dir等常量值。

这些是否定义为常数,因为我们browser.helperApps.neverAsk.saveToDisk?所以我们可以直接在代码中使用它们。

3 个答案:

答案 0 :(得分:1)

ChromeDriverService类支持以下字段:

因此你可以使用:

System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, chromeDriverLocation);

FirefoxProfile支持三种重载setPreference()方法,如下所示:

这三种方法都接受 String )和(boolean / int / String)对并设置首选项这个特殊的档案。使用这些值配置启动时的Firefox浏览器。

结论

所以期望的偏好,例如browser.download.dirbrowser.download.folderListbrowser.helperApps.neverAsk.saveToDiskpdfjs.disabled等不是常量,而是 String < / strong>) value (boolean / int / String)对,在代码中不能被视为常量

答案 1 :(得分:0)

在Firefox中,您可以在地址栏中输入about:config以查看所有首选项名称及其当前值。

对于Chrome,您可以在地址栏中输入chrome://flags以查看所有当前设置及其值。

点击here了解详情

答案 2 :(得分:0)

您可以通过代码进行更改:

System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, chromeDriverLocation);

或命令行参数

java -Dwebdriver.chrome.driver=chromeDriverLocation testClass