селен xpath l oop не работает в python - PullRequest
0 голосов
/ 10 апреля 2020

В настоящее время я создаю бота для Instagram с использованием селена. Это на вкладке сохранения в профиле учетной записи.

/ html / body / div [1] / section / main / div / div [2] / article / div / div / div [ 1 ] / div [ 1 ] / a / div / div [2]

Числа, выделенные жирным шрифтом, являются единственными числами, которые изменяются в xpath, поэтому я создал переменные, которые помогут затормозить его вверх на строки и столбцы

'/ html / body / div [1] / section / main / div / div [2] / article / div / div / div [' + str (column) + '] / div ['+ str (row) +'] / a / div / div [2] '

row = int(1)
column = int(1)

#scrolls to item i want to find works fine

print(driver.execute_script("return window.innerHeight"))
scroll = 320
driver.execute_script("window.scrollTo(0, "+ str(scroll) +")")
i = 0

while i < 9:
    l = str('/html/body/div[1]/section/main/div/div[2]/article/div/div/div[' + str(column) + ']/div[' + str(row) + ']/a/div/div[2]')

    driver.execute_script("window.scrollTo(0, " + str(scroll) + ")")
    sleep(1)
    driver.find_element_by_xpath(l).click()
    sleep(1)

    #this goes back
    driver.back()
    sleep(1)
    driver.back()
    sleep(1)
    driver.find_element_by_xpath(saves).click()
    sleep(1)
    row += 1
    if row > 3:
        row = 1
        column += 1
        scroll = (320 * column) + 320

    print(row)
    print(column)
    print("/html/body/div[1]/section/main/div/div[2]/article/div/div/div[" + str(column) + ']/div[' + str(row) + ']/a/div/div[2]')
    i += 1

работает для первого элемента, но затем прерывается при поиске второго элемента xpath

если вы знаете лучший способ или лучшую альтернативу, я был бы очень признателен

...