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()
