准备工作:
版本:PYTHON3.8.2 ide:sts ; 插件:pydev
或pycharm一套
安装相关驱动
pip3 install requests
pip3 install selenium
导包:
import time
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
import random
代码:
url="http://www.xxxx.com/yy/123"
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55"
} #以字典的形式设置请求头,随便找个代理,处理反爬
resp=requests.get(url,headers=headers)#print(resp.text)
#测试打印出HTML进入下一步
重点:
browser = webdriver.Chrome("X:\Program Files\Google\Chrome\Application\chromedriver.exe")
本机没有先查找本机版本
chrome://version/下载对应版本号的chromedriver.exe 若没有选接近的
下载地址 http://chromedriver.storage.googleapis.com/index.html
注:过期方法
find_element_by_class,find_element_by_id……
新方法用法:
from selenium.webdriver.common.by import By
browser.find_element(by=By.ID, value='xxx')
browser.find_element(by=By.NAME, value='xxx')
browser.find_element(by=By.TAG_NAME, value='xxx')
browser.find_element(by=By.CLASS_NAME, value='xxx')
browser.find_element(by=By.LINK_TEXT, value='xxx')
browser.find_element(by=By.PARTIAL_LINK_TEXT, value='xxx')
正文try/catch块:
try:
browser.get(url)
while(True):
div = browser.find_element(By.CLASS_NAME, "xxxClassName").text
print(div)
print("###################\n")
objBtn=browser.find_elements(By.CLASS_NAME, "xxName")?
# objBtn.click()#目标按键区域灵活处理单个还是数组,若失效用下面语句
browser.execute_script("arguments[0].click();", objBtn)#表太过份,拿了就走,建议N>=3
r=random.randint(1,N)
time.sleep(r)
finally:
browser.close()
注:仅供学习交流,勿有妄念!