Как получить доступ к DOM Firefox (или содержимое HTML) из внешнего Firefox

Я нашел это решение, которое генерирует закодированную строку случайного шестнадцатеричного числа. Обеспеченный модульный тест, кажется, содержит до моего основного варианта использования. Хотя, это немного более сложно, чем некоторые из других предоставленных ответов.

/**
 * Generate a random hex encoded string token of the specified length
 *  
 * @param length
 * @return random hex string
 */
public static synchronized String generateUniqueToken(Integer length){ 
    byte random[] = new byte[length];
    Random randomGenerator = new Random();
    StringBuffer buffer = new StringBuffer();

    randomGenerator.nextBytes(random);

    for (int j = 0; j < random.length; j++) {
        byte b1 = (byte) ((random[j] & 0xf0) >> 4);
        byte b2 = (byte) (random[j] & 0x0f);
        if (b1 < 10)
            buffer.append((char) ('0' + b1));
        else
            buffer.append((char) ('A' + (b1 - 10)));
        if (b2 < 10)
            buffer.append((char) ('0' + b2));
        else
            buffer.append((char) ('A' + (b2 - 10)));
    }
    return (buffer.toString());
}

@Test
public void testGenerateUniqueToken(){
    Set set = new HashSet();
    String token = null;
    int size = 16;

    /* Seems like we should be able to generate 500K tokens 
     * without a duplicate 
     */
    for (int i=0; i<500000; i++){
        token = Utility.generateUniqueToken(size);

        if (token.length() != size * 2){
            fail("Incorrect length");
        } else if (set.contains(token)) {
            fail("Duplicate token generated");
        } else{
            set.add(token);
        }
    }
}
5
задан TessellatingHeckler 21 June 2015 в 21:18
поделиться

2 ответа

Нет встроенного способа доступа к DOM веб-страницы внутри Firefox от внешней программы. Вы можете написать расширение, которое реализует какой-то IPC (используя розетки или что-то еще) и общаться с этим, но не встроенным в Firefox.

2
ответ дан 15 December 2019 в 01:08
поделиться

Это можно сделать через аддоны

1
ответ дан 15 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: