Papers › WebLINX: Real-World Website Navigation with Multi-Turn Dialogue

WebLINX: Real-World Website Navigation with Multi-Turn Dialogue

8 Feb 2024arXiv:2402.05930archive 2025-07-28

Xing Han Lù, Zdeněk Kasner, Siva Reddy

We propose the problem of conversational web navigation, where a digital agent controls a web browser and follows user instructions to solve real-world tasks in a multi-turn dialogue fashion. To support this problem, we introduce WEBLINX - a large-scale benchmark of 100K interactions across 2300 expert demonstrations of conversational web navigation. Our benchmark covers a broad range of patterns on over 150 real-world websites and can be used to train and evaluate agents in diverse scenarios. Due to the magnitude of information present, Large Language Models (LLMs) cannot process entire web pages in real-time. To solve this bottleneck, we design a retrieval-inspired model that efficiently prunes HTML pages by ranking relevant elements. We use the selected elements, along with screenshots and action history, to assess a variety of models for their ability to replicate human behavior when navigating the web. Our experiments span from small text-only to proprietary multimodal LLMs. We find that smaller finetuned decoders surpass the best zero-shot LLMs (including GPT-4V), but also larger finetuned multimodal models which were explicitly pretrained on screenshots. However, all finetuned models struggle to generalize to unseen websites. Our findings highlight the need for large multimodal models that can generalize to novel settings. Our code, data and models are available for research: https://mcgill-nlp.github.io/weblinx

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2402.05930")

Code

Syntology Ran 21 of 27 code samples harvested from 2 repositories linked to this paper; 6 have no recorded run. Of those that ran: 1 ran · violated contract; 1 ran · our draft was wrong; 19 ran with no contract checked.

By repository: official repository: 27 samples from 2 repositories, 21 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

McGill-NLP/weblinx officialmentioned on GitHubpytorchApache-2.0 report
McGill-NLP/webllama officialpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

27 samples harvested; 21 ran; 0 honoured the contract we drafted; 6 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · violated contract
1ran · our draft was wrong
19ran
6unverified

Licence: 0 of the 27 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 2 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

cast_to_float McGill-NLP/weblinx/weblinx/processing/outputs.py official repository ran fingerprinted Apache-2.0 (permissive) · fa80bfc9b9704f8c · report
compose_formatters McGill-NLP/weblinx/weblinx/utils/format.py official repository ran Apache-2.0 (permissive) · 1ec7b369dd522796 · report
filter_bboxes McGill-NLP/weblinx/weblinx/utils/html.py official repository ran Apache-2.0 (permissive) · 4fcb1951b117a6e6 · report
format_action_arg_value McGill-NLP/weblinx/weblinx/processing/outputs.py official repository ran fingerprinted Apache-2.0 (permissive) · bc51f017163fe65f · report
format_arg_item McGill-NLP/weblinx/weblinx/utils/format.py official repository ran Apache-2.0 (permissive) · 4d03c832e78532b4 · report
format_prev_turns McGill-NLP/weblinx/weblinx/processing/prompt.py official repository ran Apache-2.0 (permissive) · a899f2c938e9474d · report
get_bracket_length McGill-NLP/weblinx/weblinx/processing/truncation.py official repository ran Apache-2.0 (permissive) · c6518874884b35e2 · report
get_descendants McGill-NLP/weblinx/weblinx/processing/dom.py official repository ran Apache-2.0 (permissive) · 44d3924c80fe3091 · report
get_env_dict McGill-NLP/weblinx/weblinx/utils/envs.py official repository ran Apache-2.0 (permissive) · abbcbd290c538f35 · report
get_list_from_records_by_key McGill-NLP/weblinx/weblinx/utils/recs.py official repository ran Apache-2.0 (permissive) · b070440172fb7a66 · report
get_speaker McGill-NLP/weblinx/weblinx/processing/prompt.py official repository ran Apache-2.0 (permissive) · 576db6c2c80cba48 · report
get_truncation_offsets McGill-NLP/weblinx/weblinx/processing/truncation.py official repository ran Apache-2.0 (permissive) · e8d383f64048fb06 · report
group_record_to_dict McGill-NLP/weblinx/weblinx/utils/recs.py official repository ran Apache-2.0 (permissive) · 176890ae96f63695 · report
has_elem_in_viewport McGill-NLP/weblinx/weblinx/utils/html.py official repository ran Apache-2.0 (permissive) · 1fec2e813060a926 · report
identity McGill-NLP/weblinx/weblinx/processing/prompt.py official repository ran fingerprinted Apache-2.0 (permissive) · 6b063e5a47833dd4 · report
is_list_monotonically_increasing McGill-NLP/weblinx/weblinx/utils/recs.py official repository ran fingerprinted Apache-2.0 (permissive) · 3ae8877f0adf8db3 · report
list_all_non_alphanum_chars McGill-NLP/weblinx/weblinx/processing/outputs.py official repository ran fingerprinted Apache-2.0 (permissive) · dcda9d27514120e0 · report
open_html_with_encodings McGill-NLP/weblinx/weblinx/utils/html.py official repository ran Apache-2.0 (permissive) · 63c7e3d03045c0db · report
remap_bboxes McGill-NLP/webllama/examples/browsergym/agent.py official repository ran · our draft was wrong MIT (permissive) · 84bd76bf303ce78b · report
remove_latex McGill-NLP/webllama/app/Results.py official repository ran · violated contract fingerprinted MIT (permissive) · d31d4a5938635d95 · report
shorten McGill-NLP/weblinx/weblinx/utils/format.py official repository ran fingerprinted Apache-2.0 (permissive) · d20962095e5b96d0 · report
build_cond_df McGill-NLP/webllama/app/Results.py official repository unverified MIT (permissive) · 168f0e5f647cc7c9 · report
get_tree_repr_simple McGill-NLP/weblinx/weblinx/processing/dom.py official repository unverified Apache-2.0 (permissive) · af79280883191a10 · report
load_and_clean_df McGill-NLP/webllama/app/Results.py official repository unverified MIT (permissive) · 78b8c5d1e64ad4a3 · report
prune_tree McGill-NLP/weblinx/weblinx/processing/dom.py official repository unverified Apache-2.0 (permissive) · 7c1d79a2be5ce989 · report
reduce_list_of_lengths McGill-NLP/weblinx/weblinx/processing/truncation.py official repository unverified Apache-2.0 (permissive) · 0ac8898c0f3f43ec · report
resolve_cache_path McGill-NLP/weblinx/weblinx/utils/hydra.py official repository unverified Apache-2.0 (permissive) · 736f8a0adf254065 · report

Tasks

Conversational Web NavigationText GenerationVision and Language Navigation

Datasets

Introduced by this paper, per the archive.

WebLINX

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Conversational Web Navigation WebLINX Llama-2-13B Element (IoU) 22.82 #1 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Llama-2-13B Intent Match 81.91 #1 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Llama-2-13B Overall score 25.21 #1 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Llama-2-13B Text (F1) 26.60 #1 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX S-LLaMA-2.7B Element (IoU) 22.60 #2 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX S-LLaMA-2.7B Intent Match 84.00 #2 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX S-LLaMA-2.7B Overall score 25.02 #2 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX S-LLaMA-2.7B Text (F1) 27.17 #2 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Llama-2-7B Element (IoU) 22.26 #3 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Llama-2-7B Intent Match 82.64 #3 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Llama-2-7B Overall score 24.57 #3 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Llama-2-7B Text (F1) 26.50 #3 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-3B Element (IoU) 20.31 #4 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-3B Intent Match 81.14 #4 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-3B Overall score 23.77 #4 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-3B Text (F1) 25.75 #4 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX S-LLaMA-1.3B Element (IoU) 20.54 #5 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX S-LLaMA-1.3B Intent Match 83.32 #5 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX S-LLaMA-1.3B Overall score 23.73 #5 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX S-LLaMA-1.3B Text (F1) 25.85 #5 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-3.5F Element (IoU) 18.64 #6 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-3.5F Intent Match 77.56 #6 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-3.5F Overall score 21.22 #6 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-3.5F Text (F1) 22.39 #6 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-3B Element (IoU) 16.50 #7 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-3B Intent Match 79.89 #7 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-3B Overall score 20.94 #7 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-3B Text (F1) 23.16 #7 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Fuyu-8B Element (IoU) 15.70 #8 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Fuyu-8B Intent Match 80.07 #8 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Fuyu-8B Overall score 19.97 #8 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Fuyu-8B Text (F1) 22.30 #8 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-780M Element (IoU) 15.36 #9 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-780M Intent Match 80.02 #9 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-780M Overall score 17.27 #9 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-780M Text (F1) 14.05 #9 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Pix2Act-1.3B Element (IoU) 8.28 #10 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Pix2Act-1.3B Intent Match 81.80 #10 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Pix2Act-1.3B Overall score 16.88 #10 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Pix2Act-1.3B Text (F1) 25.21 #10 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-780M Element (IoU) 13.39 #11 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-780M Intent Match 75.87 #11 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-780M Overall score 15.13 #11 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-780M Text (F1) 13.58 #11 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-250M Element (IoU) 14.86 #12 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-250M Intent Match 79.69 #12 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-250M Overall score 14.99 #12 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Flan-T5-250M Text (F1) 9.21 #12 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-250M Element (IoU) 12.05 #13 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-250M Intent Match 74.25 #13 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-250M Overall score 12.63 #13 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX MindAct-250M Text (F1) 7.67 #13 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Pix2Act-282M Element (IoU) 6.20 #14 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Pix2Act-282M Intent Match 79.71 #14 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Pix2Act-282M Overall score 12.51 #14 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX Pix2Act-282M Text (F1) 16.40 #14 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-4T (Zero-Shot) Element (IoU) 10.85 #15 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-4T (Zero-Shot) Intent Match 41.66 #15 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-4T (Zero-Shot) Overall score 10.72 #15 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-4T (Zero-Shot) Text (F1) 6.75 #15 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-4V (Zero-Shot) Element (IoU) 10.91 #16 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-4V (Zero-Shot) Intent Match 42.36 #16 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-4V (Zero-Shot) Overall score 10.45 #16 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-4V (Zero-Shot) Text (F1) 6.21 #16 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-3.5T (Zero-Shot) Element (IoU) 8.62 #17 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-3.5T (Zero-Shot) Intent Match 42.77 #17 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-3.5T (Zero-Shot) Overall score 8.51 #17 of 17 Archive leaderboard report
Conversational Web Navigation WebLINX GPT-3.5T (Zero-Shot) Text (F1) 3.45 #17 of 17 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections