Увеличение значения в функции - PullRequest
0 голосов
/ 27 мая 2020

Итак, у меня есть эта функция, которая переходит на веб-сайт и нажимает на кучу вещей.

Я бы хотел, чтобы переменная y увеличивалась на +20 каждый раз, когда l oop завершается.

Значение y находится в последнем наборе координат для автоматического gui щелчков на конец. Я думаю, что приращение произойдет сразу после того, как функция завершит цикл, или непосредственно перед или после for l oop?

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 )

1 Ответ

1 голос
/ 27 мая 2020

Вне функции вы можете объявить

y = 0

А внутри функции в первой строке вы можете сказать следующее:

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

Таким образом, значение y останется по всему

...