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."""
|
2021-11-18 07:52:56 +08:00
|
|
|
from seleniumbase import BaseCase
|
2023-02-03 13:27:36 +08:00
|
|
|
BaseCase.main(__name__, __file__)
|
2021-11-18 07:52:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
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")
|