проблема xpath с кавычками "(python + selenium) - PullRequest
0 голосов
/ 10 июля 2020

Я создаю бота Whatsapp, и в части моего кода я получаю имя чата и ищу его с помощью xpath с:

(ttt - это переменная str) (html источник из ' https://web.whatsapp.com ')

self.driver.find_element_by_xpath("//span[contains(@title,'"+ttt+"')]")

Но у меня была проблема с апострофом, и я решаю ее с помощью:

self.driver.find_element_by_xpath(".//span[contains(@title,\""+ttt+"\")]")

Сейчас моя переменная str заключена в двойные кавычки "(как в 'ce" roo'). Как мне написать свой xpath, чтобы его получить? (Я хочу получить его в случаях апострофа и в двойных кавычках). Я много искал в inte rnet и не нашел ничего, что работало бы.

1 Ответ

0 голосов
/ 10 июля 2020

Попробуйте использовать одинарные кавычки внутри xpath, а также использовать% -форматирование. Пример:

ttt = 'ce"roo'
xpath = ".//span[contains(@title,'%s')]" % ttt
self.driver.find_element_by_xpath(xpath)

См. Escaping XPath literal с Python о том, как избежать одиночных апострофов.

...