В настоящее время я создаю бота для 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
если вы знаете лучший способ или лучшую альтернативу, я был бы очень признателен