MCPcopy Create free account
hub / github.com/seleniumbase/SeleniumBase / test_shadow_dom

Method test_shadow_dom

examples/test_shadow_dom.py:21–76  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

19 return tar_file
20
21 def test_shadow_dom(self):
22 if not self.browser == "chrome" or self.headless or self.recorder_mode:
23 self.goto_if_not_url("about:blank")
24 print("\n Unsupported mode for this test.")
25 self.skip("Unsupported mode for this test.")
26
27 # Download Python package files from PyPI
28 file_name_1 = self.download_tar_file_from_pypi("sbase")
29 file_name_2 = self.download_tar_file_from_pypi("seleniumbase")
30 self.assert_downloaded_file(file_name_1, browser=True)
31 self.assert_downloaded_file(file_name_2, browser=True)
32
33 # Navigate to the Chrome downloads page.
34 self.goto("chrome://downloads/")
35
36 # Shadow DOM selectors
37 search_icon = (
38 "downloads-manager::shadow downloads-toolbar::shadow"
39 " cr-toolbar::shadow cr-toolbar-search-field::shadow"
40 " cr-icon-button"
41 )
42 search_input = (
43 "downloads-manager::shadow downloads-toolbar::shadow"
44 " cr-toolbar::shadow cr-toolbar-search-field::shadow"
45 " #searchInput"
46 )
47 clear_search_icon = (
48 "downloads-manager::shadow downloads-toolbar::shadow"
49 " cr-toolbar::shadow cr-toolbar-search-field::shadow"
50 " #clearSearch"
51 )
52 file_link = (
53 "downloads-manager::shadow downloads-item::shadow #fileLink"
54 )
55 remove_button = (
56 "downloads-manager::shadow #downloadsList"
57 " downloads-item::shadow #quick-remove"
58 )
59 no_downloads_area = "downloads-manager::shadow #no-downloads"
60
61 self.assert_element(search_icon)
62 self.type(search_input, "sbase")
63 self.assert_text(file_name_1, file_link)
64 print("\n Download 1: %s" % self.get_text(file_link))
65 self.type(search_input, "seleniumbase")
66 self.assert_text(file_name_2, file_link)
67 print(" Download 2: %s" % self.get_text(file_link))
68 self.click(clear_search_icon)
69 self.type(search_input, "fake-file.zzz")
70 self.assert_text("No search results found", no_downloads_area)
71 self.click(clear_search_icon)
72 self.assert_element(remove_button)
73
74 # Delete the downloaded files from the [Downloads Folder]
75 self.delete_downloaded_file_if_present(file_name_1, browser=True)
76 self.delete_downloaded_file_if_present(file_name_2, browser=True)

Callers

nothing calls this directly

Calls 11

skipMethod · 0.80
goto_if_not_urlMethod · 0.45
gotoMethod · 0.45
assert_elementMethod · 0.45
typeMethod · 0.45
assert_textMethod · 0.45
get_textMethod · 0.45
clickMethod · 0.45

Tested by

no test coverage detected