SeleniumBase/examples/shadow_root_test.py

30 lines
1.3 KiB
Python
Raw Normal View History

2023-02-03 13:27:36 +08:00
"""Piercing through shadow-root elements with the "::shadow" selector.
To confirm that "::shadow" works, print text and assert exact text."""
from seleniumbase import BaseCase
2023-02-03 13:27:36 +08:00
BaseCase.main(__name__, __file__)
class ShadowRootTest(BaseCase):
def test_shadow_root(self):
2023-02-18 12:55:54 +08:00
if self.recorder_mode:
2023-03-04 14:19:07 +08:00
self.open_if_not_url("about:blank")
message = "Skipping test in Recorder Mode."
print(message)
self.skip(message)
2024-01-04 11:16:06 +08:00
elif not self.is_chromium():
2023-03-04 14:19:07 +08:00
self.open_if_not_url("about:blank")
2024-01-04 11:16:06 +08:00
message = "This test is only for Chromium browsers!"
2023-03-04 14:19:07 +08:00
print(message)
self.skip(message)
2021-11-26 01:40:09 +08:00
self.open("https://seleniumbase.io/other/shadow_dom")
print("")
self.click("button.tab_1")
print(self.get_text("fancy-tabs::shadow #panels"))
self.assert_exact_text("Content Panel 1", "fancy-tabs::shadow #panels")
self.click("button.tab_2")
print(self.get_text("fancy-tabs::shadow #panels"))
self.assert_exact_text("Content Panel 2", "fancy-tabs::shadow #panels")
self.click("button.tab_3")
print(self.get_text("fancy-tabs::shadow #panels"))
self.assert_exact_text("Content Panel 3", "fancy-tabs::shadow #panels")