太热,热的写不动了。。
导入需要用到的包
from selenium import webdriverimport time
设置好浏览器模式,使用手机模式访问
# 手机浏览器的型号mobileEmulation = {"deviceName":"iPhone X"}
# 初始化options = webdriver.ChromeOptions()options.add_experimental_option('mobileEmulation', mobileEmulation)driver = webdriver.Chrome(chrome_options=options)
进行登录操作
不是上来就需要登录,貌似有些不登录不能操作,我们提前登录
验证码是滑块,这个搞不来搞不来,加个延时手动跳过吧。
# 请求URLdriver.get("https://m.weibo.cn/")
# 点击登录driver.find_element_by_class_name("lite-sign-in").click()
# 点击账号密码登录driver.find_element_by_class_name("b-left").click()
# 账号driver.find_element_by_id("loginName").send_keys("用户名")
# 输入密码driver.find_element_by_id("loginPassword").send_keys("密码")# 点击登录driver.find_element_by_id("loginAction").click()# 自己手动跳过,延时5秒time.sleep(5)# 验证码# driver.find_element_by_class_name("geetest_radar_tip").click()
判断登录后的跳转URl是否是登录成功的url
if driver.current_url == 'https://m.weibo.cn/?sudaref=security.weibo.com': print("登录成功")
手机微博,是往下滑动翻页,我们用js代码来实现
# 翻页操作js="var q=document.documentElement.scrollTop=100000"driver.execute_script(js)time.sleep(3)
from selenium import webdriverimport time
# 手机浏览器的型号mobileEmulation = {"deviceName":"iPhone X"}
# 初始化options = webdriver.ChromeOptions()options.add_experimental_option('mobileEmulation', mobileEmulation)driver = webdriver.Chrome(chrome_options=options)
# 请求URLdriver.get("https://m.weibo.cn/")
# 点击登录driver.find_element_by_class_name("lite-sign-in").click()
# 点击账号密码登录driver.find_element_by_class_name("b-left").click()
# 账号driver.find_element_by_id("loginName").send_keys("用户名")
# 输入密码driver.find_element_by_id("loginPassword").send_keys("密码")# 点击登录driver.find_element_by_id("loginAction").click()time.sleep(5)# 验证码# driver.find_element_by_class_name("geetest_radar_tip").click()
# 块# driver.find_element_by_class_name("geetest_slider_button")
# 登录后地址if driver.current_url == 'https://m.weibo.cn/?sudaref=security.weibo.com': print("登录成功")
# 点击搞笑
driver.find_element_by_xpath('//*[@id="app"]/div[1]/div[1]/div[2]/div/div[1]/div/div/ul/li[5]').click()
# 翻页操作js="var q=document.documentElement.scrollTop=100000"driver.execute_script(js)time.sleep(3)