Mar-25-2019, 01:07 AM
I want my script repeatedly to check for the existence of some element on a fully loaded page and
return only when that element exists.
return only when that element exists.
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time options = Options() options.add_argument("--headless") caps = webdriver.DesiredCapabilities().FIREFOX caps["marionette"] = True browser = webdriver.Firefox(firefox_options=options, capabilities=caps, executable_path=r"geckodriver.exe") browser.get("http://pythonscraping.com/pages/javascript/ajaxDemo.html") try: element = WebDriverWait(browser, 10).until(EC.presence_of_element_located(By.ID, "loadedButton")) finally: print(browser.find_element_by_id("content").text) browser.close()
Error:Traceback (most recent call last):
File "C:\Python36\kodovi\wbp.py", line 184, in <module>
element = WebDriverWait(browser, 10).until(EC.presence_of_element_located(By
.ID, "loadedButton"))
TypeError: __init__() takes 2 positional arguments but 3 were given
What am I doing wrong?