🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## **4.16 调用 JavaScript** 有些页面操作不能依靠 WebDriver 提供的 API 来实现,如浏览器滚动条的拖动。这时就需要借助 JavaScript 脚本。WebDriver 提供了 execute_script()方法来执行 JavaScript 代码。 用于调整浏览器滚动条位置的 JavaScript 代码如下。 ``` <!-- window.scrollTo(左边距,上边距); --> window.scrollTo(0,450); ``` window.scrollTo()方法用于设置浏览器窗口滚动条的水平位置和垂直位置。第一个参数表示水平的左边距,第二个参数表示垂直的上边距,代码如下。 ``` from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.set_window_size(800, 600) driver.find_element_by_id("kw").send_keys("selenium") driver.find_element_by_id("su").click() # 通过JavaScript设置浏览器窗口的滚动条位置 js = "window.scollTo(100, 450);" driver.execute_script(js) ``` 首先,在浏览器中打开百度,搜索“selenium”,通过 set_window_size()方法将浏览器窗口设置为固定宽、高显示,目的是让窗口出现水平和垂直滚动条。然后,通过execute_script()方法执行 JavaScript 代码来控制浏览器滚动条的位置,如图 4-8 所示。 ![](https://img.kancloud.cn/2e/49/2e49853c6e690ab227dd5cc2d3fac9f7_784x592.png)