same problem here
image.png
Почему правильный XPath код не работает в БАСе?
-
@fox Вы это через просмотр http трафика увидели? Я ей не пользуюсь, почему-то после нажатия на эту кнопку у меня хром думает секунд 20 прежде чем показать пришедшую страницу в браузере. Не знаете как исправить? Других проблем с браузером нет, все открывается за секунду.
-
Вы это через просмотр http трафика увидели? Я ей не пользуюсь, почему-то после нажатия на эту кнопку у меня хром думает секунд 20 прежде чем показать пришедшую страницу в браузере. Не знаете как исправить? Других проблем с браузером нет, все открывается за секунду.
В коде страницы есть скрипты, которые браузер начинает выполнять, и не все скрипты он может выполнить сразу, отсюда и задержка. Firefox кстати открывает страницу сразу.
-
@fox said in Почему правильный XPath код не работает в БАСе?:
Значит этот текст заполняет какой нибудь скрипт, или дополнительный запрос
Нашел запрос:
GET https://my.aliexpress.com/wishlist/wishlist_item_count.htm?itemtype=product&itemid=32808065488&_csrf_token_=151le2xir9o00&_=1541702377993 HTTP/1.1 Host: my.aliexpress.com Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 DNT: 1 Accept: */* Referer: https://www.aliexpress.com/item/USLION-Phone-Case-For-iPhone-7-6-6s-Plus-5-5s-SE-Simple-Solid-Color-Ultrathin/32808065488.html Accept-Encoding: gzip, deflate, br Accept-Language: ru,en-US;q=0.9,en;q=0.8 Cookie: ali_apache_id=11.139.3.86.1541702331484.208968.4; xman_t=xM//himR3juCqLQxRx10KFURwCqHcmNEDK5Z0UWlWbvOz9lfhDgFRnT9I023i42W; xman_f=DqowFAxV7UcZFp+GVyT+wzR8HPu1XNkDL8Cgxx7CilIy91fnhiilAKs3g0uXiMiq/WsHUETDsuIl2vFevWgHhFZqFQvuJHYZovRwb/VLNgQbHdbw/AGL4w==; AKA_A2=A; _ga=GA1.2.1958370003.1541702334; _gid=GA1.2.491123276.1541702334; _ym_uid=1541702334641712455; _ym_d=1541702334; acs_usuc_t=acs_rt=eb19edc6b52f4c3c95c7f798577acff4&x_csrf=151le2xir9o00; aep_history=keywords%5E%0Akeywords%09%0A%0Aproduct_selloffer%5E%0Aproduct_selloffer%0932808065488; _gat=1; _ym_visorc_29739640=b; _ym_isad=2; cna=vHBrFGjWn3ICAU3eYEYPYcF2; JSESSIONID=015B422F71642D7FCC04EDE00DA1FF7F; _fbp=fb.1.1541702334849.2103477419; xman_us_f=x_locale=en_US&x_l=0; intl_locale=en_US; _m_h5_tk=0ec8132e8a06b38e8f97b86b8e7a152b_1541704856808; _m_h5_tk_enc=5717716f02d89fbd60d3466d3ec9ad55; aep_usuc_f=site=glo&c_tp=USD®ion=US&b_locale=en_US; intl_common_forever=0T31Cg1NdIVjKwqtKJMfZV7MXQnyibx/9TrGZhPNRSAe0NPvzDXAHQ==; RT="sl=2&ss=1541702337374&tt=3873&obo=0&sh=1541702344933%3D2%3A0%3A3873%2C1541702339449%3D1%3A0%3A2070&dm=aliexpress.com&si=c4e041ae-bfa1-40e2-8841-297c17897f45&se=900&bcn=%2F%2F364bf6be.akstat.io%2F"; isg=BGZmyEsJARUuEtWxAsEQIQcVt9wo76plTYc19lAPUglk0wbtuNf6EUylL5d6-6IZ; ali_apache_track=; ali_apache_tracktmp=В ответ приходит:
HTTP/1.1 200 OK Content-Type: application/javascript;charset=utf-8 Vary: Accept-Encoding P3P: CP="CAO PSA OUR" Content-Language: en-US Content-Security-Policy-Report-Only: default-src * 'unsafe-eval' 'unsafe-inline' data:;report-uri //pointman.alibaba.com/csp?app=ae_default Server: Tengine/Aserver Strict-Transport-Security: max-age=31536000 Timing-Allow-Origin: * Content-Length: 31 Date: Thu, 08 Nov 2018 18:39:36 GMT Connection: keep-alive Set-Cookie: JSESSIONID=7A5E506F39108A7E535BA222B260B1DE; Path=/; HttpOnly Set-Cookie: ali_apache_track=; Domain=.aliexpress.com; Expires=Tue, 26-Nov-2086 21:53:43 GMT; Path=/ Set-Cookie: ali_apache_tracktmp=; Domain=.aliexpress.com; Path=/ window.collectNum={"num":87291}Если повторить этот гет запрос в таком виде без неизвестных мне параметров:
https://my.aliexpress.com/wishlist/wishlist_item_count.htm?itemtype=product&itemid=32808065488То приходит та же строчка с нужным числом:
window.collectNum={"num":87291}Я правильно понимаю, что не имеет смысла указывать эти дополнительные параметры, или здесь есть какие-то нюансы?
-
@senerg
В Вашем случае недостаточно данных, чтобы говорить о том, что xpath не работает. Вы увидели данные в браузере, а парсите их в http-клиенте bas. Они могут отличаться. Ведь данные вы парсите из содержимого ответа сервера, а не браузера.
Чтобы однозначно проверить это - сохраните содержание ответа сервера и проверьте в нем наличие нужных Вам данных.
После этого можно будет говорить о правильности работы xpath. -
Думал, что запрос http клиента аналогичен запросу браузера
Возможно вы имели ввиду другое, но всё же. Запросы браузера и http-клиента одинаковые, разница лишь в том, что в браузере выполняются скрипты, устанавливаются куки и заголовки, формируются токены и т.п. А в http-клиенте большинство работы приходится выполнять самому.
-
@fox said in Почему правильный XPath код не работает в БАСе?:
А в http-клиенте большинство работы приходится выполнять самому
Как я понял, большинство работы делать не нужно. Делать нужно только то, что позволяет получить нужные данные.
@fox said in Почему правильный XPath код не работает в БАСе?:
формируются токены
Что это такое, их я еще не видел.