selenium的使用
0.使用selenium
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
1.创建一个浏览器对象(双击打开谷歌浏览器)
b = Chrome()
2.输入需要控制的网站的地址
b.get('https://www.baidu.com')
3.获取标签
1)浏览器对象.find_element(查找方式, 值) - 按照指定方式获取第一个满足条件的标签,返回一个标签对象
2)浏览器对象.find_elements(查找方式, 值) -按照指定方式获取所有满足条件的标签,返回一个列表,列表中的元素是标签
查找方式:
1)By.ID - 通过id属性值获取标签
2)By.CLASS_NAME - 通过class属性值获取标签
3)By.CSS_SELECTOR - 通过css选择器获取标签
search_box = b.find_element(By.ID, 'kw')
search_btn = b.find_elements(By.CSS_SELECTOR, '#su')
chenge_btn = b.find_element(By.ID, 'hotsearch-refresh-btn')
4.操作标签
# 1)输入框输入内容:输入框标签对象.send_keys(内容)
# search_box.send_keys('简笔画\n')
# 2)点击标签:标签对象.click()
time.sleep(1)
chenge_btn.click()
练习:打开京东-搜索巧克力
b = Chrome()
b.get('https://www.jd.com')
search_box = b.find_element(By.ID, 'key')
search_box.send_keys('巧克力\n')
5.页面滚动
js滚动页面的代码:window.scrollBy(x方向偏移量, y方向偏移量)
time.sleep(1)
for _ in range(10):
for _ in range(10):
b.execute_script('window.scrollBy(0, 500)')
time.sleep(1)
next_btn = b.find_element(By.CLASS_NAME, 'pn-next')
next_btn.click()
# 点击下一页
next_btn = b.find_element(By.CLASS_NAME, 'pn-next')
next_btn.click()
print('滚动结束')
input()
1.打开和关闭浏览器
from selenium.webdriver import Chrome, Firefox, Safari, Ie
import time
1.创建浏览器对象(自动打开一个空的页面)
b = Chrome()
time.sleep(2)
2.打开指定页面
# 1)可以打开网页
b.get('https://www.baidu.com')
# 对浏览器内容截图
b.get_screenshot_as_file('files/baidu.png')
time.sleep(2)
# 2)打开本地的html文件
url = 'file:///D:/%E5%8D%83%E9%94%8B%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90-2022%E5%B9%B4/02%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91/day4-%E4%BA%AC%E4%B8%9C%E7%99%BB%E5%BD%95%E9%A1%B5%E9%9D%A2/01%E4%BA%AC%E4%B8%9C%E7%99%BB%E5%BD%95%E9%A1%B5%E9%9D%A2.html'
b.get(url)
# 对浏览器内容截图
b.get_screenshot_as_file('files/jd.png')
time.sleep(2)
3.关闭当前页面
b.close()
2.控制浏览器大小
from selenium.webdriver import Chrome
import time
b = Chrome()
1.设置浏览器全屏显示
b.maximize_window()
b.get('https://www.baidu.com')
time.sleep(2)
2.设置窗口大小:500×500
b.set_window_size(