爬虫之selenium控制浏览器执行js代码
selenium可以让浏览器执行我们规定的js代码,运行下列代码查看运行效果
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.itcast.cn/")
time.sleep(1)
js = 'window.scrollTo(0,document.body.scrollHeight)' # js语句 页面直接滚到最下方
driver.execute_script(js) # 执行js的方法
time.sleep(5)
driver.quit()
- 执行js的方法:
driver.execute_script(js)
示例代码:
from selenium import webdriver
url = 'https://jn.lianjia.com/'
driver = webdriver.Chrome()
driver.get(url)
el_button = driver.find_element_by_xpath('/html/body/div[2]/ul/li/a/img')
el_button.click()
运行效果:
解决办法,将浏览器页面往下滚动一点就好了
示例代码:
from selenium import webdriver
url = 'https://jn.lianjia.com/'
driver = webdriver.Chrome()
driver.get(url)
# 滚动条的拖动
js = 'scrollTo(0,500)' # 现在电脑浏览器都是宽屏浏览器,x轴直接设置为0就可以了,后面y值可以调试着写
driver.execute_script(js)
el_button = driver.find_element_by_xpath('/html/body/div[2]/ul/li/a/img')
el_button.click()
运行效果: