Я предполагаю, что это из-за непоследовательного использования кавычек (апостроф может быть распознан как закрывающая одинарная кавычка)
Попробуйте заключить значение заголовка в двойные кавычки:
//div[@title = "Best Aliexpress Women's Watches"]
Если бы я хотел сделать его универсальным, почему он не позволяет мне писать вот так: //div[@title = "Best Aliexpress Women's Watches"] | //div[@title='Best Aliexpress Women's Watches']
?
@ F.Vosnim, как я уже сказал, апостроф распознается как закрывающая одинарная кавычка, поэтому ваше выражение недействительно, потому что для парсера оно выглядит как //div[@title='Best Aliexpress Women'
- закрывающих квадратных скобок для предиката нет. Таким образом, даже если ваш первый XPath возвращает элемент, добавление | //div[@title='Best Aliexpress Women's Watches']
сделает все выражение недействительным.
Спасибо за ваш ответ. Могу ли я что-нибудь сделать, чтобы сделать его действительным для всех случаев: //div[@title = "Anything"]
и //div[@title='Anything']
с XPATH?
@ F.Vosnim, я не уверен, зачем вам это нужно, потому что в XPath "Anything" == 'Anything'
Мне это нужно, потому что в названии некоторых div'ов, которые я хотел бы получить, есть '
, в других - "
.
@ F.Vosnim вы можете попробовать обратную косую черту в качестве экранирующего символа: "//div[@title=\"Best Aliexpress Women's Watches\"]"
Большое тебе спасибо! Я не знал о различиях в котировках.