Send keys control + click in Selenium with Python bindings

前端 未结 6 862
甜味超标
甜味超标 2020-12-01 00:54

I need to open link in new tab using Selenium.

So is it possible to perform ctrl+click on element in Selenium to open it in new tab?

6条回答
  •  猫巷女王i
    2020-12-01 01:34

    Use an ActionChain with key_down to press the control key, and key_up to release it:

    import time
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.common.keys import Keys
    
    driver = webdriver.Chrome()
    
    driver.get('http://google.com')
    element = driver.find_element_by_link_text('About')
    
    ActionChains(driver) \
        .key_down(Keys.CONTROL) \
        .click(element) \
        .key_up(Keys.CONTROL) \
        .perform()
    
    time.sleep(10) # Pause to allow you to inspect the browser.
    
    driver.quit()
    

提交回复
热议问题