Mam tutaj przykładowy kod HTML i próbuję zaznaczyć tekst wewnątrz <a>
tagu:
<div class="fsCalendarDaybox fsStateHasEvents">
<div class="fsCalendarDate" data-day="10" data-year="2019" data-month="0">
<span class="fsCalendarDay">Thu,</span>
<span class="fsCalendarMonth">Jan</span>10
</div>
<div class="fsCalendarInfo">
<a class="fsCalendarEventTitle fsCalendarEventLink" title="D Day " data-occur-id="292598" href="#">D Day</a>
</div>
Na stronie jest wiele innych podobnych uchwytów i muszę być w stanie wybrać prawidłowy Dzień Listu (wartość wewnątrz <a>
znacznika) na podstawie dnia i miesiąca wprowadzania. Oto kod Swift, którego próbuję teraz użyć:
func parseData(dataToParse:String) -> String {
let Month = 0
let Day = 10
do{
let doc = try SwiftSoup.parse(dataToParse)
do{
let innerDiv = try doc.select("div.fsCalendarDate[data-day=\(Day)][data-month=\(Month)] + div.fsCalendarInfo")
do{
let a = try innerDiv.select("a.fsCalendarEventTitle")
print(try a.text() as Any)
if(try a.text() != nil){
return (try a.text())
}
else{
return "empty"
}
}
}
}
catch{
print("CANNOT PARSE WEBSITE DATA")
return "ERROR"
}
}
Niestety dostaję różnego rodzaju błędy i nie mogę konsekwentnie wybierać właściwego <div>
elementu z poprawną datą. Czy ktoś wie, co robię źle?