【python】简单实现打开浏览器并自动点击跳转

首先,需要用到python的一个库selenium,安装方法也很简单,使用pip安装。

pip install selenium  # Windows
pip3 install selenium # Mac

selenium脚本可以控制常见的浏览器,需要先安装浏览器驱动。
推荐使用Chrome浏览器:
Chrome浏览器插件下载

在这里插入图片描述
在这里插入图片描述
找到对应版本的插件,如果是最新版本浏览器没找到对应版本也可以下载最后一个版本的插件。
将下载好的chromedriver_win32.zip解压后是一个exe文件,将其复制到你的Python安装根目录下就好了。

示例代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import datetime

browser = webdriver.Chrome()

try:
    print(datetime.datetime.now())
    browser.get('https://www.baidu.com')
    time.sleep(1)
    input = browser.find_element(By.ID, 'kw')
    # browser.get('https://www.so.com')
    # time.sleep(1)
    # input = browser.find_element(By.ID, 'input')

    input.send_keys('慕课网')
    input.send_keys(Keys.ENTER) #回车
    print('current_url:')
    print(browser.current_url)
    time.sleep(1)
    # 找到完整文字元素并点击
    # "//[text()='百度百科']"
    # 找到部分文字元素并点击
    goChooseShiftBt = browser.find_element(By.XPATH, "//*[contains(text(),'程序员的梦工厂')]")
    goChooseShiftBt.click()
    time.sleep(1)
    # 获取当前的窗口句柄
    wins = browser.window_handles
    print("当前所有的窗口句柄:", wins)
    # 切换到列表最后即最新的窗口
    browser.switch_to.window(wins[-1])
    time.sleep(1)
    input2 = browser.find_element(By.CLASS_NAME, "search-input")
    input2.send_keys('python')
    input2.send_keys(Keys.ENTER)  # 回车
    time.sleep(1)
    print('current_url:')
    print(browser.current_url)
    print('------------------------------------------------------------------')
    print(browser.get_cookies())
    print('------------------------------------------------------------------')
    print(browser.page_source)
except Exception as e:
    print('str Error:')
    print(str(e))
    error_msg = repr(e)
    print('repr Error:')
    
    if 'NoSuchElementException' in error_msg :
        print('没找到元素')
    else:
        print(repr(e))
finally:
    time.sleep(2)
    print('---------关闭浏览器---------')
    # 关闭窗口
    browser.close()
    # 退出浏览器
    browser.quit()
    print(datetime.datetime.now())

pycharm可以直接用电脑管家这版免费的:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值