如何使用python在函数中运行计时器?
我有以下代码:如何使用python在函数中运行计时器?,python,multithreading,python-3.x,selenium,selenium-webdriver,Python,Multithreading,Python 3.x,Selenium,Selenium Webdriver,我有以下代码: def Transalted_Content(content): driver= webdriver.Chrome("H:\\CI\\chromedriver.exe") driver.get('https://translate.shell.com/') translate_from = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "textarea.form-co
def Transalted_Content(content):
driver= webdriver.Chrome("H:\\CI\\chromedriver.exe")
driver.get('https://translate.shell.com/')
translate_from = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "textarea.form-control#translateText")))
translate_from._parent.execute_script("""
var elm = arguments[0], text = arguments[1];
if (!('value' in elm))
throw new Error('Expected an <input> or <textarea>');
elm.focus();
elm.value = text;
elm.dispatchEvent(new Event('change'));
""", translate_from, content)
driver.find_element_by_css_selector("input#translate").click()
time.sleep(3.5)
translated_text_element= driver.find_element_by_id('translatedText')
translated_text=translated_text_element.get_attribute('value')
driver.close()
return translated_text
并且可以在一个时间间隔内(如果它超过一个时间间隔)继续执行此操作。您可以使用
线程化
模块并行运行一个函数
import threading
def my_threaded_function():
sleep(0.5)
thread = threading.Thread(target=my_threaded_function)
thread.start()
通过使用args
参数或使用lambda表达式包装函数,可以将参数传递给函数
thread = threading.Thread(target=my_threaded_function, args=['arg1', 'arg2'])
或
@debanjanB抱歉,我会这么做。@debanjanB你能帮我解决这个问题吗:)你能帮我理解你的用例为什么需要计时器吗?chrome在哪一行超时?你能用你想要自动化的确切步骤更新这个问题吗?你需要修正代码中的缩进。
thread = threading.Thread(target=my_threaded_function, args=['arg1', 'arg2'])
thread = threading.Thread(target=lambda: my_threaded_function('arg1', 'arg2'))