selenium 调用JavaScript代码
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()