Вложенные циклы
Помогите прогнать скрипт определенное количество раз в цикле.
users_url = []
i = 1
for element in driver.find_elements(By.XPATH, '//*[@id="div1"]'):
i = i++1
e = element.find_element(By.CLASS_NAME, "task-avatar")
users_url.append(e.find_element(By.CSS_SELECTOR, 'a').get_attribute('href'))
if i > 20:
break
print(users_url)
for url1 in users_url:
print(url1)
time.sleep(2)
#url1 = driver.current_url ### Забрать ссылку из адресной строки
result = re.search(r"/([a-z]+)(-?\d+)_(\d+)", url1)
type_name, owner_id, item_id = result.groups()
if type_name == "wall":
type_name = "post"
url = 'https://api.vk.com/method/likes.add?type=%s&owner_id=%s&item_id=%s&v=5.131&access_token=%s' % (type_name, owner_id, item_id, token)
req = requests.post(url).text
print(req)
for item in driver.find_elements(By.XPATH, '// *[ @ id = "div2"] / div / div[2] / a[1]')[:20]:
time.sleep(4)
driver.execute_script("arguments[0].click();", item)
Ответы (1 шт):
Автор решения: Ret7020
→ Ссылка
Если этот скрипт является полным(за исключением импортов библиотек), то самым простым решением будет запихать весь этот код в функцию и вызывать в цикле for. Насколько я вижу скрипт юзает глобальный объект от селениума driver. Его можно передавать в качестве аргумента функции. Примерно как-то так:
def parse(driver):
ВАШ КОД ЗДЕСЬ
for i in range(10):
parse(driver)