selenium
selenium基本使用
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
import time
- 创建浏览器对象(谷歌)
wb = Chrome()
- 打开指定网页
wb.get('https://www.51job.com/')
3.获取当前浏览器中显示的页面的网页源代码
print(wb.page_source)
4.获取网页中的标签,并且操作标签
根据选择器找到对应的标签: 浏览器对象.find_element_by_css_selector(css选择器)
search_input = wb.find_element_by_css_selector('#kwdselectid')
向输入框中输入内容: 输入框标签.send_keys(内容)
search_input.send_keys('数据分析')
search_input.send_keys(Keys.ENTER)
点击标签:标签.click()
next_btn = wb.find_element_by_css_selector('.next')
next_btn.click()
selenium添加基本设置
from selenium.webdriver import Chrome
from selenium.webdriver import ChromeOptions
import time
- 创建设置对象
options = ChromeOptions()
取消自动化测试环境提示
options.add_experimental_option('excludeSwitches', ['enable-automation'])
取消图片的加载
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
2.创建浏览器对象
wb = Chrome(options=options)
wb.get('https://www.51job.com')
淘宝设置cookie
from selenium.webdriver import Chrome
from selenium.webdriver import ChromeOptions
from selenium.webdriver.common.keys import Keys
import time
def get_cookies(url, file_name):
"""
通过selenium获取指定网站的cookie,并将获取到的cookie保存到指定文件中
:param url: 指定网站的网址
:param file_name: 保存cookie的文件
:return: None
"""
wb = Chrome()
wb.get(url)
# 给手动登录的时间
time.sleep(60)
cookies = wb.get_cookies()
print(type(cookies), cookies)
with open(file_name, 'w') as f:
f.write(str(cookies))
def open_taobao():
# 1. 创建设置对象
options = ChromeOptions()
# 取消自动化测试环境提示
options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 取消图片的加载
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
# 2.创建浏览器对象
wb = Chrome(options=options)
wb.get('https://www.taobao.com')
# 添加cookie
with open('cookies/taobao.txt') as f:
cookies = eval(f.read())
for x in cookies:
wb.add_cookie(x)
time.sleep(1)
wb.get('https://www.taobao.com')
search_input = wb.find_element_by_css_selector('#q')
search_input.send_keys('橙子')
search_input.send_keys(Keys.ENTER)
print(wb.page_source)
time.sleep(10)
def open_weibo():
wb = Chrome()
wb.get('https://weibo.com')
with open('cookies/weibo.txt') as f:
cookies = eval(f.read())
for x in cookies:
wb.add_cookie(x)
time.sleep(1)
wb.get('https://weibo.com')
time.sleep(10)
# open_taobao()
open_weibo()
# get_cookies('https://weibo.com', 'cookies/weibo.txt')