Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: "Why Can’t Selenium ChromeDriver Interact With 3DS Authentication Pages?"
metadesc: "Learn why Selenium hangs on 3DS payment pages and how a simple desired capability prevents ChromeDriver from waiting indefinitely."
order: 24.20
page_id: "why-cant-selenium-chromedriver-interact-with-3ds-authentication-pages?"
warning: false
contextual_links:
- type: section
name: "Contents"
- type: link
name: "Steps to Add the Desired Capability to the Test Case"
url: "#steps-to-add-the-desired-capability-to-the-test-case"
---

---

Comment on lines +1 to +16
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove redundant horizontal rules (---) to avoid confusing front matter vs separators.
You have front matter already (Line 1-13). The additional --- blocks at Line 15-16 and Line 37-38 (and trailing --- at Line 61) are likely unnecessary and can render oddly depending on the markdown pipeline.

Proposed change:

 ---
 title: "Why Can’t Selenium ChromeDriver Interact With 3DS Authentication Pages?"
 metadesc: "Learn why Selenium hangs on 3DS payment pages and how a simple desired capability prevents ChromeDriver from waiting indefinitely."
 order: 24.20
 page_id: "why-cant-selenium-chromedriver-interact-with-3ds-authentication-pages?"
 warning: false
 contextual_links:
 - type: section
   name: "Contents"
 - type: link
   name: "Steps to Add the Desired Capability to the Test Case"
   url: "#steps-to-add-the-desired-capability-to-the-test-case"
 ---
-
----
-

…and delete the later standalone --- lines unless your docs styleguide explicitly requires them.

Also applies to: 37-38, 61-61

🤖 Prompt for AI Agents
In
src/pages/docs/FAQs/web-apps/why-can’t-selenium-chromedriver-interact-with-3ds-authentication-pages.md
around lines 1-16, remove the redundant standalone '---' horizontal-rule lines
(specifically delete the extra '---' at lines 15-16 and also remove the similar
extraneous separators at lines 37-38 and 61), leaving only the single YAML front
matter block at the top; verify the file still starts and ends the front matter
correctly and contains no other isolated '---' lines.

When you navigate to 3D Secure (3DS) authentication pages such as Visa or Mastercard, Selenium on Chrome or Edge may freeze or time out during execution.

**Why This Happens**

3DS authentication screens load a third-party iframe that runs continuous background scripts from the payment gateway.

Inside these iframes:
- Long-running JavaScript and postMessage listeners are always active.
- Messages are continuously exchanged with the payment provider.
- The browser keeps processing events and never reaches a fully loaded state.

As a result:
- ChromeDriver waits indefinitely for the page to finish loading
- The pageLoad event never completes
- Selenium becomes unresponsive after navigation

To prevent Selenium from waiting indefinitely, you need to add a desired capability to your test case that stops ChromeDriver from waiting for the full page load.

This article discusses how to add the desired capability to the test case.

Comment on lines +17 to +36
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use real headings + fix list indentation (markdownlint MD036/MD007).

  • Why This Happens” (Line 19-19) should be a heading (e.g., ## Why this happens) rather than bold-as-heading.
  • The unordered lists under “Inside these iframes:” and “As a result:” are indented (Line 24-26, 29-31); markdownlint expects no leading spaces.

Proposed change:

-**Why This Happens**
+## Why this happens
 ...
 Inside these iframes:
-   - Long-running JavaScript and postMessage listeners are always active.
-   - Messages are continuously exchanged with the payment provider.
-   - The browser keeps processing events and never reaches a fully loaded state.
+- Long-running JavaScript and `postMessage` listeners are always active.
+- Messages are continuously exchanged with the payment provider.
+- The browser keeps processing events and never reaches a fully loaded state.
 ...
 As a result:
-   - ChromeDriver waits indefinitely for the page to finish loading
-   - The pageLoad event never completes
-   - Selenium becomes unresponsive after navigation
+- ChromeDriver waits indefinitely for the page to finish loading.
+- The page load event never completes.
+- Selenium becomes unresponsive after navigation.

Also consider hyphenating “full-page load” (Line 33-35) if you keep it as an adjective (“…waiting for the full-page load”).

🧰 Tools
🪛 LanguageTool

[uncategorized] ~33-~33: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...stops ChromeDriver from waiting for the full page load. This article discusses how to ad...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

🪛 markdownlint-cli2 (0.18.1)

19-19: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


24-24: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


25-25: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


26-26: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


29-29: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


30-30: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


31-31: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)

🤖 Prompt for AI Agents
In
src/pages/docs/FAQs/web-apps/why-can’t-selenium-chromedriver-interact-with-3ds-authentication-pages.md
around lines 17 to 36, replace the bold-as-heading "**Why This Happens**" with a
proper markdown heading (e.g., "## Why this happens"), remove the extra leading
spaces on the unordered list items under "Inside these iframes:" and "As a
result:" so they are left-aligned list items (no leading spaces), and optionally
hyphenate "full-page load" if you intend it as a compound adjective (change
"full page load" to "full-page load") in the sentence about ChromeDriver waiting
for the full page load.

---

## **Steps to Add the Desired Capability to the Test Case**

1. From the left navigation bar, go to **Create Tests > Test Cases**.
![Test Cases](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/faq/selenium_faq_1.png)

2. In the Test Case Explorer section, expand a **Feature** and a **Scenario** and select the required test case.
![Test Case](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/faq/selenium_faq_2.png)

3. In the Test Case Details page, click **Run**.
![Run](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/faq/selenium_faq_3.png)

4. In the **Ad-Hoc Run** overlay, expand the **Desired Capabilities** section, enter the following:

| **Key** | **Data Type** | **Value** |
| ------------- | ------------- | ------------- |
| pageLoadStrategy | String | none |

![Desired Capability](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/faq/selenium_faq_4.png)

5. Click **Run Now**.
![Run Now](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/faq/selenium_faq_5.png)

---