我想登录一个网站。右键单击其中一个链接,然后在"新建选项卡"或"新窗口"中打开。
我之前在这里搜索过,并在发布之前用谷歌搜索过。可能是我做错了
button=browser.find_element_by_link_text('Menus');
action=ActionChains(browser)
action.context_click(button).perform() #--> Till here working fine, Right clicks on Menu
action.send_keys(Keys.ARROW_DOWN+Keys.ARROW_DOWN+Keys.ENTER).perform() #--> Not Working
我不会朝那个方向走,因为当您在并行模式下运行 Selenium 测试时,执行上下文菜单单击会让您反咬一口
与其打开上下文菜单并单击,我宁愿推荐:
- 从链接中提取
href
属性 - 使用 Window.open(( JavaScript 函数在新选项卡中打开链接
- 使用显式等待哀嚎,直到窗口数变为 2
- 将上下文切换到新选项卡
示例代码:
button = browser.find_element_by_link_text('Menus')
href = button.get_attribute("href")
browser.execute_script("window.open('" + href + "')")
WebDriverWait(browser, 10).until(EC.number_of_windows_to_be(2))
browser.switch_to.window(browser.window_handles[1])