selenium

注意:浏览器对象(browser)每次操作页面,都会发生变化,包含下拉页面,踩过坑

一、打开百度搜索python为例

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('https://www.baidu.com/')

# 找到input框
kw = browser.find_element_by_id('kw')
# 输入内容(python)
kw.send_keys('python')
# 查找提交按钮
su = browser.find_element_by_id('su')
# 点击按钮
su.click()

browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
# 找到下一页的标签
next_page = browser.find_element_by_class_name('n')
next_page.click()

注意:浏览器对象browser,每到一个新的页面,浏览器对象都是新的,所以点击完next_page标签后,next_page标签每次都要重取

二、浏览器对象常用方法

page_source  # 获取当前网页的源码

click()
back()
forward()
page_source()    # 网页源码
current_url
excute_script()    # 执行脚本
close()    # 关闭浏览器
quit()    # 关闭浏览器

注意:区别

close() 关闭当前的tab

quit() 关闭整个浏览器

三、标签对象的常用方法

send_keys()    # 向某个元素发送键盘事件
text    
get_attribute()        # 节点属性
get_property()        # 节点属性

location    # 位置
rect     # 矩形
is_enabled    # 

 四、切换窗口

from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')
# 打开新窗口
browser.execute_script('window.open()')
browser.get('https://www.baidu.com/')
# 切换窗口
browser.switch_to_window(browser.window_handles[0])
browser.get('https://www.12306.cn/index/')
# 再次切换窗口
browser.switch_to_window(browser.window_handles[1])
browser.get('https://www.sina.com.cn/')
原文地址:https://www.cnblogs.com/wt7018/p/11872919.html