Как читать текст из раскрывающегося списка с помощью javaScript? [Дубликат]

Просто включите hitpoints:

print('The enemey gets hit for %d hitpoints' % damage)

Оператор форматирования % очень мощный, посмотрите все параметры заполнитель . Тем не менее, предполагается, что он будет отменен в пользу str.format :

print('The enemey gets hit for {} hitpoints'.format(damage))

. Кроме того, вы можете преобразовать значение damage в строку и объединить строки с +:

print('The enemy gets hit for ' + str(damage) + ' hitpoints')

3
задан Saurabh Gaur 7 July 2016 в 08:15
поделиться

1 ответ

В вашем первом варианте селен ясно сказал, что Element должен был «выбрать», но был «опцией», означает, что здесь вы предоставляете xpath для option, ожидая только xpath для выбора.

Не нужно использовать другую опцию, как вы указали. Просто используйте свой первый вариант, как показано ниже: -

Select elm = new Select(driver.findElement(By.id("type")));
elm.selectByVisibleText("Date");

или ByIndex

elm.selectByIndex(2);

или ByValue

elm.selectByValue("1");

Если ваш первый вариант неудачно не работает, я предпочитаю использовать ваш третий вариант. Используя JavascriptExecutor, как показано ниже: -

WebElement select = driver.findElement(By.id("type"));

((JavascriptExecutor)driver).executeScript("var select = arguments[0]; for(var i = 0; i < select.options.length; i++){ if(select.options[i].text == arguments[1]){ select.options[i].selected = true; } }", select, "Date");

Надеюсь, это вам поможет. ..:)

3
ответ дан Saurabh Gaur 16 August 2018 в 04:02
поделиться
  • 1
    Это не сработало. В настоящее время я использую метод sendKeys(keys.ARROW_DOWN), а затем метод senKeys(keys.RETURN), чтобы выбрать этот вариант, который, кажется, работает, но я определенно хотел бы узнать другие способы достижения этой цели. – Pawan Juyal 7 July 2016 в 07:31
  • 2
    что код JavascriptExecutor работал как Charm. Большое спасибо. – Pawan Juyal 7 July 2016 в 07:39
  • 3
    @PawanJuyal не могли бы вы сказать мне, почему первый вариант не работал ??? есть исключение ??? – Saurabh Gaur 7 July 2016 в 07:50
  • 4
    conn0 - & gt; [0,25, & Quot; findElements & Quot;, {& Quot; элемент & Quot;: & Quot; c1efa248-5a65-43ac-af75-47bd7d306429 & Quot;, & Quot; с помощью & Quot;: & Quot; XPath & Quot;, & Quot; значение & Quot;: & Quot; .// вариант [@value = \ & quot; 2 \ & quot;}} 1467883681756 conn0 & lt; - [1,25, null, [{"элемент -6066-11e4-a52e-4f735466cecf": "38f00c46-c8d1-4e43 -ad5f-2d34d50441ce "," ELEMENT ":" 38f00c46-c8d1-4e43-ad5f-2d34d50441ce "}]] 1467883681769 conn0 - & gt; [0,26, «isElementSelected», «id»: «38f00c46-c8d1-4e43-ad5f-2d34d50441ce»}] 1467883681781 conn0 & lt; - [1,26, null, {"значение": false} ] 1467883681787 conn0 - & gt; [0,27, & Quot; clickElement & Quot;, {& Quot; идентификатор & Quot;: & Quot; 38f00c46-c8d1-4e43-ad5f-2d34d50441ce & Quot; 1467883681835 conn0 & lt; - [1,27, null, {}] – Pawan Juyal 7 July 2016 в 09:34
  • 5
    @PawanJuyal, почему вы предоставляете xPath с помощью .//option[@value = "2"] ... вам нужно просто найти элемент select как By.id("type") и предоставить его new Select() для работы в качестве поля выбора в селене ... – Saurabh Gaur 7 July 2016 в 09:40
Другие вопросы по тегам:

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