@@ -2634,7 +2634,19 @@ def __element_click(self, element):
2634
2634
):
2635
2635
element.click()
2636
2636
else:
2637
- element.uc_click()
2637
+ try:
2638
+ href = element.get_attribute("href")
2639
+ target = element.get_attribute("target")
2640
+ if len(href) > 0 and target == "_blank":
2641
+ self.driver.tab_new(href)
2642
+ self.switch_to_window(-1)
2643
+ time.sleep(0.01)
2644
+ elif len(href) > 0:
2645
+ element.uc_click()
2646
+ else:
2647
+ element.click()
2648
+ except Exception:
2649
+ element.click()
2638
2650
2639
2651
def __select_option(
2640
2652
self,
@@ -3344,7 +3356,7 @@ def open_new_window(self, switch_to=True):
3344
3356
if hasattr(self.driver, "tab_new"):
3345
3357
self.driver.tab_new("about:blank")
3346
3358
if switch_to:
3347
- self.switch_to_newest_window( )
3359
+ self.switch_to_window(-1 )
3348
3360
time.sleep(0.01)
3349
3361
return
3350
3362
if selenium4_or_newer and switch_to:
@@ -3375,7 +3387,7 @@ def switch_to_default_window(self):
3375
3387
self.switch_to_window(0)
3376
3388
3377
3389
def switch_to_newest_window(self):
3378
- self.switch_to_window(len(self.driver.window_handles) - 1)
3390
+ self.switch_to_window(- 1)
3379
3391
3380
3392
def get_new_driver(
3381
3393
self,
@@ -12471,7 +12483,7 @@ def __make_css_match_first_element_only(self, selector):
12471
12483
def __switch_to_newest_window_if_not_blank(self):
12472
12484
current_window = self.driver.current_window_handle
12473
12485
try:
12474
- self.switch_to_window(len(self.driver.window_handles) - 1)
12486
+ self.switch_to_window(- 1)
12475
12487
if self.get_current_url() == "about:blank":
12476
12488
self.switch_to_window(current_window)
12477
12489
except Exception:
@@ -13603,9 +13615,7 @@ def setUp(self, masterqa_mode=False):
13603
13615
has_url = True
13604
13616
if len(self.driver.window_handles) > 1:
13605
13617
while len(self.driver.window_handles) > 1:
13606
- self.switch_to_window(
13607
- len(self.driver.window_handles) - 1
13608
- )
13618
+ self.switch_to_window(-1)
13609
13619
self.driver.close()
13610
13620
self.switch_to_window(0)
13611
13621
if self._crumbs:
0 commit comments