Skip to content

Instantly share code, notes, and snippets.

@DPS0340
Created October 29, 2019 19:00
Show Gist options
  • Select an option

  • Save DPS0340/b831942b664556c72759e14a114d8a8b to your computer and use it in GitHub Desktop.

Select an option

Save DPS0340/b831942b664556c72759e14a114d8a8b to your computer and use it in GitHub Desktop.
ideone download script
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# download chromedriver to source code path
# python main.py
def login():
driver.get("https://ideone.com")
driver.find_element_by_class_name("icon-signin").find_element_by_xpath("..").click()
driver.implicitly_wait(1)
driver.find_element_by_name("username").clear()
driver.find_element_by_name("username").send_keys(id)
driver.implicitly_wait(2)
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys(password)
driver.implicitly_wait(1)
driver.find_element_by_name("password").send_keys(Keys.ENTER)
id = input("please type your ideone id: ")
password = input("please type your ideone password: ")
hl = input("headless? [Y|N] ")
options = webdriver.ChromeOptions()
if hl == "Y":
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")
options.add_experimental_option("prefs", {
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": False,
'profile.default_content_settings.popups': 0
})
driver = webdriver.Chrome("./chromedriver.exe", options=options)
login()
driver.get("https://ideone.com/myrecent")
while "myrecent" not in driver.current_url:
login()
driver.get("https://ideone.com/myrecent")
driver.find_element_by_id("myrecent").find_element_by_class_name("btn-group").find_element_by_tag_name("button").click()
dropdown = driver.find_element_by_id("myrecent").find_element_by_tag_name("ul")
lis = dropdown.find_elements_by_tag_name("a")
last = int(lis[-1].get_attribute("data-value"))
for i in range(last):
for j in range(len(driver.find_element_by_id("myrecent").find_elements_by_class_name("link"))):
link = driver.find_element_by_id("myrecent").find_elements_by_class_name("link")[j]
uri = link.text
driver.get("https://ideone.com/plain/%s" % uri)
driver.get("https://ideone.com/myrecent")
if i != last - 1:
driver.find_element_by_class_name("icon-angle-right").find_element_by_xpath("..").click()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment