Double clicking in python selenium

后端 未结 2 966
别跟我提以往
别跟我提以往 2020-12-16 04:22

I am using selenium with python. Im able to get the code below to click where I want but I want it to dbl click. Im not very good with the action chains and I know I need

相关标签:
2条回答
  • 2020-12-16 04:59

    try this:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    from time import sleep
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.action_chains import ActionChains
    
    usernameStr = 'xxxxxx'
    passwordStr = 'xxxxx'
    
    browser = webdriver.Chrome()
    browser.get(('https://accounts.google.com/ServiceLogin?'
             'service=mail&continue=https://mail.google'
             '.com/mail/#identifier'))
    
    
    username = browser.find_element_by_id('identifierId')
    username.send_keys(usernameStr)
    nextButton = browser.find_element_by_id('identifierNext')
    
    nextButton.click()
    
    # wait for transition then continue to fill items
    password = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH,'//*    [@id="password"]/div[1]/div/div[1]/input')))
    
    password.send_keys(passwordStr)
    
    signInButton = browser.find_element_by_id('passwordNext')
    signInButton.click()
    
    apsButton = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH,'//[@id="gbwa"]/div/a')))
    
    apsButton.click()
    driveButton = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH,'//*[@id="gb49"]/span[1]')))
    driveButton.click()
    
    0 讨论(0)
  • 2020-12-16 05:11

    Action chains is the only best option as far i know

    from selenium.webdriver.common.action_chains import ActionChains
    
    driver=self.webdriver
    user = self.find_element_by_id("selUsers")
    for option in user.find_elements_by_tag_name("option"):
       if option.text == "Admin, Ascender":
          actionChains = ActionChains(driver)
          actionChains.double_click(option).perform()
    
    0 讨论(0)
提交回复
热议问题