Я боролся с этим проектом селена и продолжаю находить старые ссылки или посты, которые незначительно связаны с этой проблемой. Я признаю, что я новичок в xpath и selenium, так что, надеюсь, это будет так же просто, как исправить мой синтаксис. Я использую python 3.6.9 на lubuntu 19.10, если это что-то меняет.
html элемент, к которому я пытаюсь получить доступ:
<div class="NfvXc">
<textarea aria-label="Write a caption…" autocomplete="off" autocorrect="off"
class="_472V_" placeholder="Write a caption…"></textarea>
</div>
Код, который я пробовал:
add_text = browser_object.find_element_by_xpath("//textarea[contains(@aria-label,'Write a caption...')]")
add_text = browser_object.find_element_by_xpath("//div[contains(text(),'Write a caption...')]")
Сообщения об ошибках, с которыми я сталкиваюсь при попытке использования различных путей xpath:
error in process_image(): Message: Given xpath expression "//*div[contains(text(),'Write a caption...')]" is invalid: SyntaxError: The expression is not a legal expression.
Я проверил firefox, чтобы попытаться перехватить путь xpath, отображается как: /html/body/div[1]/section/div[2]/section[1]/div[1]/textarea
Хотя я пока не уверен, как настроить мой xpath, чтобы найти этот элемент, очевидно.