在函数中增加一个值

问题描述 投票:0回答:1

所以我有一个函数,它可以驱动到一个网站并点击一堆东西。

我希望每次循环完成后,y变量都能递增+20。

y的值在最后一组坐标中,用于最后的autogui点击。我想增量应该发生在函数完成一个循环之后,还是在for循环之前或之后?

def tagger(var1, var2,y):
    driver = webdriver.Chrome('/Users/name/Desktop/chromedriver')

    driver.get('https://exampewebsite')
    time.sleep(5)

    driver.find_element_by_xpath('/html/body/div[1]/form/div/div/input[1]').send_keys('example')
    driver.find_element_by_xpath('/html/body/div[1]/form/div/div/input[2]').send_keys('example')
    driver.find_element_by_xpath('/html/body/div[1]/form/div/button').click()
    time.sleep(5)

    driver.find_element_by_xpath('//*[@id="dropdownMenu2"]').click()
    time.sleep(2)
    driver.find_element_by_xpath('/html/body/div[1]/div[1]/button').click()
    time.sleep(2)
    driver.find_element_by_xpath('//*[@id="session-name"]').send_keys(var1)
    driver.find_element_by_xpath('//*[@id="session-tv"]').send_keys('https:example'+var2)
    driver.find_element_by_xpath('//*[@id="session-comment"]').send_keys('https://example', '\n', 'Just added clicks')
    driver.find_element_by_xpath('//*[@id="btnSaveNew"]').click()
    time.sleep(2)
    driver.find_element_by_xpath('//*[@id="editBlock"]/label/span').click()
    time.sleep(5)

    driver.find_element_by_xpath("//*[@id='words_tabs']/div/span").click()

    time.sleep(2)
    pyautogui.doubleClick(433, -800, duration=1)
    pyautogui.press('enter')
    pyautogui.doubleClick(433, -740, duration=1)
    pyautogui.press('enter')
    pyautogui.doubleClick(420, y,duration=1)
    pyautogui.press('enter')
    time.sleep(30)



    driver.quit() 

    for key, value in mydict.items():
         tagger(str(key), str(value), -884 )

python for-loop automation pyautogui
1个回答
1
投票

在函数之外,你可以声明

y = 0

而在函数里面,第一行你可以这样说。

def tagger(var1, var2):
    global y
    ...your code
    y+=20

这样一来,y的值就会在整个过程中保持不变

© www.soinside.com 2019 - 2024. All rights reserved.