Skip to main content

selenium splask script py

```python
#!/usr/bin/env python3

print("Run splask script!")

from selenium import webdriver
import time 
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By


print("start: gosg")

options = Options()
options.add_argument("--remote-allow-origins=*")
options.add_argument("--window-size=1920,1200")
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--remote-debugging-port=9223")
# options.add_argument("--set-page-load-stratergy=eager")
driver = webdriver.Chrome(options=options)
# hyperlink = "https://www.malaysia.gov.my/portal/index"
hyperlink = "https://www.jpw.gov.my/index.php/en-us"
# hyperlink = "https://www.jwp.gov.my"
# hyperlink = "https://www.kpdn.gov.my"
# hyperlink = "https://ttpm.kpdn.gov.my"
# hyperlink = "https://mysafe.kpdn.gov.my"
# hyperlink = "https://ost.demolah.com"
# hyperlink = "https://www.infra.gov.my/"
# hyperlink = "https://jpw.myopensoft.net"
print("domain:", hyperlink)
start = time.time()
driver.get(hyperlink)
end = time.time()
timetaken = end - start
# print(driver.page_source)

if(timetaken < 8):
    print("load: OK", timetaken)
else:
    print("load: Slow", timetaken)

if driver.find_elements(By.XPATH, '//a[@href="https://www.malaysia.gov.my"]'):
    print("gosg: E")
else:
    print("gosg: X")

if driver.find_elements(By.XPATH, '//meta[@name="viewport"]') or driver.find_elements(By.XPATH, '//meta[@name="viewport"]'):
    print("meta viewport: E")
else:
    print("meta viewport: X")

if driver.title:
    print("meta title: E")
else:
    print("meta title: X")

title_len = len(driver.title)

if title_len < 70:
    print("title len: OK", title_len)
else:
    print("title len: Too Long", title_len)

# meta_description = driver.find_element_by_css_selector('meta[name="description"]')
# meta_description = driver.find_elements(By.XPATH, 'meta[name="description"]')
# meta_description_content = meta_description.get_attribute("content")
# meta_description_length = len(meta_description_content)

# if meta_description:
#     print("meta description: E")
# else:
#     print("meta description: X")

# if meta_description_length < 160:
#     print("meta description len: OK", title_len)
# else:
#     print("meta description len: Too Long", title_len)

if driver.find_elements(By.XPATH, '//a[@splwpk-multilang]') or driver.find_elements(By.XPATH, '//div[@splwpk-multilang]'):
    print("multilang: E")
else:
    print("multilang: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-sitemap]') or driver.find_elements(By.XPATH, '//div[@splwpk-sitemap]'):
    print("sitemap: E")
else:
    print("sitemap: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-search-function]') or driver.find_elements(By.XPATH, '//div[@splwpk-search-function]'):
    print("search-function: E")
else:
    print("search-function: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-w3c]') or driver.find_elements(By.XPATH, '//div[@splwpk-w3c]'):
    print("w3c: E")
else:
    print("w3c: X")

if driver.find_elements(By.XPATH, '//form[@splwpk-advanced-search-function]'):
    print("advanced-search-function: E")
else:
    print("advanced-search-function: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-open-data]'):
    print("open-data: E")
else:
    print("open-data: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-publication]') or driver.find_elements(By.XPATH, '//div[@splwpk-publication]'):
    print("publication: E")
else:
    print("publication: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-online-services]') or driver.find_elements(By.XPATH, '//div[@splwpk-online-services]'):
    print("online-services: E")
else:
    print("online-services: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-electronic-archive]') or driver.find_elements(By.XPATH, '//div[@splwpk-electronic-archive]'):
    print("electronic-archive: E")
else:
    print("electronic-archive: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-publicising]') or driver.find_elements(By.XPATH, '//div[@splwpk-publicising]'):
    print("publicising: E")
else:
    print("publicising: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-freedom]') or driver.find_elements(By.XPATH, '//div[@splwpk-freedom]'):
    print("freedom: E")
else:
    print("freedom: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-procurement]') or driver.find_elements(By.XPATH, '//div[@splwpk-procurement]'):
    print("procurement: E")
else:
    print("procurement: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-online-e-participation]') or driver.find_elements(By.XPATH, '//div[@splwpk-online-e-participation]'):
    print("online-e-participation: E")
else:
    print("online-e-participation: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-privacy-policy]') or driver.find_elements(By.XPATH, '//div[@splwpk-privacy-policy]'):
    print("privacy-policy: E")
else:
    print("privacy-policy: X")

if driver.find_elements(By.XPATH, '//form[@splwpk-feedback-form]') or driver.find_elements(By.XPATH, '//div[@splwpk-feedback-form]'):
    print("feedback-form: E")
else:
    print("feedback-form: X")

if driver.find_elements(By.XPATH, '//a[@splwpk-mobile-apps]') or driver.find_elements(By.XPATH, '//div[@splwpk-mobile-apps]'):
    print("mobile-apps: E")
else:
    print("mobile-apps: X")

# print(driver.find_element(By.XPATH, '//img[not(contains(@alt))]').size['height'])

driver.quit()

print("end")
```