Я пытаюсь использовать селен, чтобы найти и выбрать определенный элемент на основе переменной, переданной в функцию при его вызове.Я думал, что это будет достаточно просто с хорошим старым:
show = browser.find_element_by_xpath("//*[contains(text(), '%s')]" % eventName)
Тем не менее, я получаю сообщение об ошибке:
selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: Unable to locate an element with the xpath expression //*[contains(text(), 'VARIABLE_TEXT')] because of the following error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//*[contains(text(), 'VARIABLE_TEXT')]' is not a valid XPath expression.
Вот здесь - перегнано и упрощено - часть HTMLЯ пытаюсь выбрать:
<ul>
<li class="seriesElement">
<input id="productionId_0" name="productionIds" type="checkbox" value="VALUE"><input type="hidden" name="_productionIds" value="on"><label for="productionId_0" class="prodColor0">TEXT</label>
</li>
<li class="seriesElement">
<input id="productionId_1" name="productionIds" type="checkbox" value="VALUE"><input type="hidden" name="_productionIds" value="on"><label for="productionId_1" class="prodColor1">TEXT</label>
</li>
</ul>
Есть много из этих элементов списка, и я хочу выбрать один по тексту.Я только что использовал неправильный синтаксис для своего выражения xpath, или это совершенно другой зверь?