selenium 調用JavaScript代碼
調用JavaScript方法有兩種:
execute_script():
方法解釋:是同步方法,用它執行js代碼會阻塞主線程執行,直到js代碼執行完畢。
execute_script()方法如果有返回值,會有以下幾種情況:
- 返回一個頁面元素(document element),這個方法就會返回衣蛾WebElement
- 返回浮點數數字,這個方法就返回一個double類型的數字
- 返回非浮點數字,方法返回long類型數字
- 返回blloean類型,方法返回Boolean類型
- 返回一個數組,方法發揮一個List類型
- 其他情況,返回一個字符串
execute_async_script():
方法解釋:是異步方法,它不會阻塞主線程執行
實例:
#調用JavaScript代碼 #coding utf-8 from selenium import webdriver from time import sleep #訪問百度 driver = webdriver.Firefox() driver.get("http://www.baidu.com") #設置瀏覽器窗口大下 driver.set_window_size(500,800) #搜索 driver.find_element_by_id('kw').send_keys('python selenium') driver.find_element_by_id('su').click() sleep(2) #通過javascript設置瀏覽器窗口的滾動條位置 js = "window.scrollTo(100,450);" driver.execute_script(js) #執行JavaScript代碼 #driver.execute_async_script() sleep(2) driver.quit()