63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
|
|
#!/usr/bin/env python
|
|
|
|
import time
|
|
from selenium import webdriver
|
|
|
|
def login(driver):
|
|
driver.get('https://admin.hostpoint.ch/customer/Auth/Login')
|
|
driver.find_element_by_name('username').send_keys('jeanggi90@gmail.com')
|
|
driver.find_element_by_name('password').send_keys('`^0oVc2Yd9`tQ&l]&4X04QNV<')
|
|
driver.find_element_by_name('login').click()
|
|
|
|
def updateARecord(driver, ip):
|
|
|
|
rowId = ['record-70642858', 'record-70642859']
|
|
|
|
driver.get('https://admin.hostpoint.ch/customer/Domains/Overview')
|
|
driver.find_element_by_name('edit_dns').click()
|
|
|
|
driver.implicitly_wait(10)
|
|
|
|
tableRows = driver.find_element_by_id('dns-record-list').find_elements_by_class_name('b-record')
|
|
|
|
# The last two entries are my A records
|
|
for e in tableRows[-2:]:
|
|
try:
|
|
e.find_element_by_name('edit').click()
|
|
|
|
# For some reason with each iteration it return one more such element
|
|
editForm = driver.find_elements_by_class_name('dns-record-list-edit')
|
|
editForm[-1].find_element_by_name('ip_address').clear()
|
|
editForm[-1].find_element_by_name('ip_address').send_keys(ip)
|
|
|
|
editForm[-1].find_element_by_name('apply').click()
|
|
|
|
except Exception as e:
|
|
print(f"Except: {str(e)}")
|
|
|
|
try:
|
|
|
|
e = driver.find_element_by_name('execute_now')
|
|
driver.execute_script("arguments[0].click();", e)
|
|
|
|
# Give the site some time to save
|
|
time.sleep(10)
|
|
except Exception as e:
|
|
print(f"Except: {str(e)}")
|
|
|
|
# try:
|
|
# if driver.find_element_by_id('dns-editor-content-success').get_attribute('display') != 'none':
|
|
# print('Success')
|
|
#
|
|
# else:
|
|
# print('Not successful')
|
|
# except Exception as e:
|
|
# print("Not successful")
|
|
|
|
if __name__ == "__main__":
|
|
with webdriver.Firefox() as driver:
|
|
login(driver)
|
|
updateARecord(driver, '46.127.188.60')
|
|
time.sleep(60)
|