Firefox Quantum: Получить URL-строку в Delphi [дубликат]

Похоже, что многие другие внесли аналогичные решения, но я думал, что разделю то, что я придумал, и пригласить других вносить свой вклад. Это решение имеет приятный красочный выход, изящно обрабатывает ваш текущий рабочий каталог и быстро, потому что он не делает никаких проверок и оставляет ваш рабочий каталог в такт. Кроме того, это всего лишь сценарий оболочки без зависимостей, кроме git. (только проверено на OSX до сих пор)

#!/usr/bin/env bash

gitup(){    
RED='\033[33;31m'
YELLO='\033[33;33m'
GREEN='\033[33;32m'
NC='\033[0m' # No Color

HEAD=$(git rev-parse HEAD)
CHANGED=$(git status --porcelain | wc -l)

echo "Fetching..."
git fetch --all --prune &>/dev/null
for branch in `git for-each-ref --format='%(refname:short)' refs/heads`; do

    LOCAL=$(git rev-parse --quiet --verify $branch)
    if [ "$HEAD" = "$LOCAL" ] && [ $CHANGED -gt 0 ]; then
        echo -e "${YELLO}WORKING${NC}\t\t$branch"
    elif git rev-parse --verify --quiet $branch@{u}&>/dev/null; then
        REMOTE=$(git rev-parse --quiet --verify $branch@{u})
        BASE=$(git merge-base $branch $branch@{u})

        if [ "$LOCAL" = "$REMOTE" ]; then
           echo -e "${GREEN}OK${NC}\t\t$branch" 
        elif [ "$LOCAL" = "$BASE" ]; then
            if [ "$HEAD" = "$LOCAL" ]; then
                git merge $REMOTE&>/dev/null
            else
                git branch -f $branch $REMOTE
            fi
            echo -e "${GREEN}UPDATED${NC}\t\t$branch"
        elif [ "$REMOTE" = "$BASE" ]; then
            echo -e "${RED}AHEAD${NC}\t\t$branch"
        else
            echo -e "${RED}DIVERGED${NC}\t\t$branch"
        fi
    else
        echo -e "${RED}NO REMOTE${NC}\t$branch"
    fi
done
}

https://github.com/davestimpert/gitup

Извините, я тоже, похоже, пришел с тем же именем, что и другой инструмент выше.

3
задан T3 H40 28 October 2015 в 19:10
поделиться

1 ответ

Непонятно, с какого элемента вы начинаете поиск, но у вас есть два элемента с этим именем. Один из них - это элемент управления со списком, другой - элемент управления редактированием. Попробуйте использовать AndCondition для объединения нескольких объектов PropertyCondition:

var nameCondition = new PropertyCondition(AutomationElement.NameProperty, "Search or enter address");
var controlCondition = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit);
var condition = new AndCondition(nameCondition, controlCondition);
AutomationElement editBox = element.FindFirst(TreeScope.Subtree, condition);
// use ValuePattern to get the value

Если поиск начинается с поля со списком, вы можете вместо этого изменить TreeScope.Subtree на TreeScope.Descendants, поскольку Subtree включает текущий элемент в поиск.

5
ответ дан mike z 22 August 2018 в 07:29
поделиться
  • 1
    Спасибо, Майк! – Frank Davis 14 October 2014 в 01:11
  • 2
    Невозможно выполнить геометрию ошибки. Исключение исключений онлайн :: ---- ValuePatternval = (ValuePattern) elmUrlBar.GetCurrentPattern (паттерны [0]); – Ankur Tripathi 12 April 2016 в 06:59
Другие вопросы по тегам:

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