Я создал небольшую программу с python selenium для автоматического клика на некоторых изображениях, что приводит меня к сторонним сайтам, где мне нужно оставаться 30-100 секунд, а затем зарабатывать немного денег.
Весь процесс, которого я хочу достичь (некоторые из них уже завершены):
- Откройте драйвер Chrome [Готово]
- Откройте конкретный сайт [Готово]
- Нажмите кнопку входа [Готово]
- Отправьте имя пользователя и пароль в определенные поля и нажмите кнопку входа [Готово]
- Прокрутите вниз до пикселя y [Готово]
- Нажмите случайную категорию (7) и подождите несколько секунд. [Готово]
- Найдите «изображение ссылки» и щелкните по нему (открывает сторонний сайт) [Готово]
- Подождитедо тех пор, пока сторонний сайт не закроется автоматически, сайт заработанных денег автоматически откроет страницу оценки.
- Теперь на сайте оценки есть изображение, я хочу распознать это изображение. Если это изображение видно, я хочу закрыть текущую вкладку. Мне нужно что-то распознать, если этот рейтинг сайта виден, чтобы знать, что сторонний сайт был выполнен. После закрытия сайта оценки мы находимся в точке 7, где мы можем искать новые «изображения ссылок».
- Делайте этот процесс до тех пор, пока «изображений ссылок» больше не будет.
- Если это произойдет, прокрутите вниз до нижней части сайта, где обычно находятся «изображения ссылок», выполните поиск по категориям. и нажмите на случайную категорию снова. Снова перейдите к пункту 7.
Таким образом, в основном, это щелчок по категориям, поиск по «ссылочным изображениям», нажатие на него, распознавание сайта с небольшим изображением, закрытие вкладки и повторный поиск. Когда больше не будет ссылок на изображения, перейдите в конец сайта и нажмите на новую категорию. Повторите весь этот процесс.
Изображение на сайте курса:
"i[class='fa fa-check-circle-o fa-lg clickads-check-circle']"
Мои основные проблемы: я не знаю, как распознать это изображение и как после этого закрыть вкладку. Я не знаю, как автоматически повторить весь процесс после того, как мы вернемся на сайт, где находятся «изображения ссылок». Я не очень знаком с python.
Моя программа:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from random import randrange
import time
driver = webdriver.Chrome(executable_path=r"C:\Users\Marvin\Desktop\chromedriver.exe")
driver.get("http:/www.xyz.de")
driver.maximize_window()
driver.implicitly_wait(10)
assert "Webseiten finden | Geld verdienen | Werbung machen | xyz" in driver.title
time.sleep(3)
driver.find_element_by_xpath("//*[@id='tabs']/ul/li[2]/a").click() #Click on login section
assert "Zum Mitgliederbereich bei xyz" in driver.title
driver.find_element_by_xpath("//*[@id='LoginForm_login_name']").send_keys("username") #send username
driver.find_element_by_xpath("//*[@id='LoginForm_login_password']").send_keys("password") #send password
time.sleep(3)
driver.find_element_by_xpath("//*[@id='loginForm']/fieldset/div[2]/div[5]/div[2]/input").click() #click on login button
driver.implicitly_wait(10)
time.sleep(3)
driver.execute_script("window.scrollBy(0, 1000)") #scroll down to categorys section
categorys = ["//*[@id='category']/section[1]",
"//*[@id='category']/section[2]",
"//*[@id='category']/section[3]",
"//*[@id='category']/section[4]",
"//*[@id='category']/section[5]",
"//*[@id='category']/section[6]",
"//*[@id='category']/section[7]"]
time.sleep(3)
driver.find_element_by_xpath(categorys[randrange(len(categorys))]).click() #click on random category
driver.implicitly_wait(10)
time.sleep(10)
linkImage = driver.find_element_by_css_selector("a[class='catshadow adshelper']") #find a linkImage
driver.execute_script("arguments[0].scrollIntoView();", linkImage) #scroll to this linkImage
time.sleep(10)
driver.find_element_by_css_selector("a[class='catshadow adshelper']").click() #click on this linkImage
driver.implicitly_wait(250)
time.sleep(100)
if driver.find_elements_by_css_selector("i[class='fa fa-check-circle-o fa-lg clickads-check-circle']") :
driver.quit() #does not work, it should close the actual tab when seeing this elemtn "fa fa-check-circle"
Я надеюсь, что кто-то, кто знаком с селеном и python, сможет помочь мне с этой маленькой программой:)