css(层叠样式表\样式表)是用来设计标签的样式和布局
1.css代码写在哪儿
内联样式表:写在标签的style属性中
内部样式表:写在style标签中
2.css代码怎么写
选择器{
css属性1=值1;
css属性2=值2;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css"
/*css语法的代码
p{
fron-size: 20px;
}
#d1{
}
</style>
</head>
<body>
<!-- p标签 -->
<p><style="color: #FF0000;">
</style>段文字</p>
<p>2段文字</p>
<span>span文字1</span>
<span>span文字2</span>
<div id="">
<p>我是p标签</p>
<span>我是span</span>
</div>
<img src="./img/jd_logo.ico" title="京东">
<img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3087306304,1351303500&fm=26&gp=0.jpg" title="佐罗">
<a href="https://www.baidu.com">百度</a>
<a href="https://www.taobao.com">
<img src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2832399839,3195821267&fm=26&gp=0.jpg" >
<br>
<span>路飞</span>
</a>
<input type="text" name="" id="" value="张三" placeholder="请输入账号"/>
<input type="password" name="" id="" value="" placeholder="请输入密码"/>
<input type="button" name="" id="" value="确定" />
<input type="checkbox" name="" id="" value="" />
<button type="button">取消</button>
</body>
</html>
3.css选择器(重点)
1)元素选择器 - 直接将标签名作为选择器,选中所有指定名的标签
p - 选中所有的p标签
2)id选择器 - 在id属性值前加#作为一个选择器,选中id属性值是指定值的标签
#d1 - 选中id属性的值是d1的标签
3) class选择器 - 在class属性前加.作为一个选择器,选中class属性值是指定值的所有标签
.c1 - 选中class属性的值是c1的所有标签
4)群组选择器:选择器1,选择器2,选择器3,..
p,a - 选中所有的p标签和a标签
p,#d1 - 选中所有的p标签和所有id是d1的标签
5)后代选择器: 选择器1 选择器2 选择器3 ..
p a - 选择是p标签后代的a标签
6) 子代选择器: 选择器1>选择器2>选择器3 ..
p>a - 选择是p标签子代的a标签
div>p>a
01 selenium基本使用
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
import time
wb = Chrome()
wb.get('https://www.51job.com/')
search_input = wb.find_element_by_css_selector('#kwdselectid')
search_input.send_keys('数据分析')
search_input.send_keys(Keys.ENTER)
next_btn = wb.find_element_by_css_selector('.next')
next_btn.click()
time.sleep(5)
wb.close()
02selenium添加基本设置
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})
wb = Chrome(options=options)
wb.get('https://www.51job.com')
time.sleep(10)
wb.close()
03淘宝设置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():
options = ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
wb = Chrome(options=options)
wb.get('https://www.taobao.com')
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_weibo()
04 京东滚动
from selenium.webdriver import Chrome
from selenium.webdriver import ChromeOptions
from selenium.webdriver.common.keys import Keys
import time
options = ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
wb = Chrome(options=options)
wb.get('https://www.jd.com')
search_input = wb.find_element_by_css_selector('#key')
search_input.send_keys('海贼王')
search_input.send_keys(Keys.ENTER)
time.sleep(2)
wb.execute_script('window.scrollTo(0, document.body.scrollHeight - 600)')
print(wb.page_source)
next_btn = wb.find_element_by_css_selector('.pn-next')
print('===================================================')
print(next_btn)
time.sleep(10)
wb.close()