Aşağıda vermiş olduğum kodda belirtilen adrese gidip otomatik form dolduruyor verdiğim txtler içinden.
Formun belirli bir kısmında itiraz için adresler belirtmem gerekiyor bu kısmında belirtilen div’e tıklatıp yeni bir input açtırdığım zaman yine gidip 1. inputa veriyi giriyor 10 input açtırıyorsam 1. input'a txt'den 1. veriyi 2. input'a txt'den 2.veriyi şeklinde girmeli ben 10 tane açtırıyorum genelde. Yani kısacası bütün eklenen inputlara aynı veriyi girme sorunu var. Ayrıca inputdaki verinin yanına +++ değilde txt içindeki verinin yanına +++ girilmeli.
Txt verilerim şöyle
http://xxx.com http://yyy.com http://asd.com
Bir diğer sorun # İsim alanına rasgele bir isim girin kısmına girilen veri ile # İmza alanına rasgele bir isim girin verileri birbiriyle aynı olmalı yani eşleşmeli.
Tüm bunlardan sonra submit edecek formun geri kalan kısmını ben yaptım ama burayı yapamadım.
Bu eksikler düzeltilecek ücretli yardımcı olacaklar pm lütfen.
from selenium import webdriver
import time
import random
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument("--start-maximized")
driver = webdriver.Chrome(options=options)
# İstediğiniz adrese gidin
driver.get('https://support.google.com/legal/contact/lr_counternotice?product=websearch')
# Sınıfı seçmek için bekleyin
time.sleep(1) # 1 saniye bekle
select_div = driver.find_element_by_class_name('sc-select')
select_div.click()
# Seçeneği seçmek için bekleyin
time.sleep(1) # 1 saniye bekle
class_element = driver.find_element_by_xpath("//li[@id=':221']")
class_element.click()
# İsim alanına rasgele bir isim girin
name_element = driver.find_element_by_id('full_name')
with open('random.txt', encoding='utf-8') as f:
names = f.read().splitlines()
random_name = random.choice(names)
name_element.send_keys(random_name)
time.sleep(1) # 1 saniye bekle
# Unvan alanına rasgele bir isim girin
name_element = driver.find_element_by_id('your_title')
with open('unvan.txt', encoding='utf-8') as f:
names = f.read().splitlines()
random_name = random.choice(names)
name_element.send_keys(random_name)
time.sleep(1) # 1 saniye bekle
# Sirket alanına rasgele bir isim girin
name_element = driver.find_element_by_id('companyname')
with open('sirket.txt', encoding='utf-8') as f:
names = f.read().splitlines()
random_name = random.choice(names)
name_element.send_keys(random_name)
time.sleep(1) # 1 saniye bekle
# Mail alanına bir isim girin
email_element = driver.find_element_by_id('contact_email_noprefill ')
email_element.send_keys('asd@asd.com')
# Adres alanına rasgele bir isim girin
name_element = driver.find_element_by_id('address')
with open('address.txt', encoding='utf-8') as f:
names = f.read().splitlines()
random_name = random.choice(names)
name_element.send_keys(random_name)
# Telefon alanına rasgele bir isim girin
name_element = driver.find_element_by_id('phone')
with open('phone.txt', encoding='utf-8') as f:
names = f.read().splitlines()
random_name = random.choice(names)
name_element.send_keys(random_name)
time.sleep(2) # 2 saniye bekle
# Url'leri okuyun ve yazın
with open('url.txt', 'r') as url_file:
urls = url_file.readlines()
url_index = 0
for i in range(2):
add_additional = driver.find_element_by_class_name('add-additional')
add_additional.click()
time.sleep(1) # 1 saniye bekle
# Sonraki input alanını bulun
next_input = driver.find_element_by_id('material_location')
# Url'yi yazın ve sonuna +++ işaretini ekleyin
next_input.send_keys(urls[url_index].strip() + ' +++')
url_index += 1
target_element = driver.find_element_by_id("dmca_clarifications_int ro--counternotice.clarify_owner")
driver.execute_script("arguments[0].click();", target_element)
time.sleep(1) # 1 saniye bekle
# Ayrıntı alanına rasgele bir isim girin
name_element = driver.find_element_by_id('dmca_clarifications')
with open('sebep.txt', encoding='utf-8') as f:
names = f.read().splitlines()
random_name = random.choice(names)
name_element.send_keys(random_name)
time.sleep(2) # 2 saniye bekle
target_element = driver.find_element_by_id("consent_statement1--dmca_consent_statement")
driver.execute_script("arguments[0].click();", target_element)
time.sleep(1) # 1 saniye bekle
target_element = driver.find_element_by_id("consent_statement2--dmca_consent_statementtwo")
driver.execute_script("arguments[0].click();", target_element)
time.sleep(1) # 1 saniye bekle
# İmza alanına rasgele bir isim girin
name_element = driver.find_element_by_id('signature')
with open('random.txt', encoding='utf-8') as f:
names = f.read().splitlines()
random_name = random.choice(names)
name_element.send_keys(random_name)
time.sleep(1) # 1 saniye bekle
# Tarayıcıyı kapatın
# driver.quit()