Подобный вариант того, что было опубликовано выше janderson, будет так просто использовать метод .GetAttribute в selenium 2. Используя это, вы можете захватить любой элемент, который имеет определенное значение или метку, которую вы ищете. Это можно использовать, чтобы определить, имеет ли элемент метку, стиль, значение и т. Д. Общим способом сделать это является прохождение элементов в раскрывающемся списке, пока вы не найдете тот, который вы хотите, и выберите его. В C #
int items = driver.FindElement(By.XPath("//path_to_drop_Down")).Count();
for(int i = 1; i <= items; i++)
{
string value = driver.FindElement(By.XPath("//path_to_drop_Down/option["+i+"]")).GetAttribute("Value1");
if(value.Conatains("Label_I_am_Looking_for"))
{
driver.FindElement(By.XPath("//path_to_drop_Down/option["+i+"]")).Click();
//Clicked on the index of the that has your label / value
}
}
В отсутствие утилиты clear
или tput
и учитывая, что обычные escape-последовательности ANSI не работают с (встроенным) printf
, вы должны вызвать либо cmd.exe
, либо PowerShell для очистки экрана:
bash$ powershell -noprofile -c cls
Использование cmd
быстрее, но проблема в том, что win-bash вызывает внешние программы, заключая в кавычки каждый аргумент за кулисами , что вызывает сбой такой команды, как cmd /c cls
; следующий обходной путь в основном работает, но печатает строку приглашения cmd.exe
один раз после очистки экрана.
# !! Clears the screen, but prints the cmd.exe prompt string once.
bash$ echo cls | cmd