python 能过selenium跟微信交互操作1

这篇具有很好参考价值的文章主要介绍了python 能过selenium跟微信交互操作1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium

Selenium是一个强大的自动化测试工具,它支持多种浏览器,包括IE、Mozilla Firefox、Safari、Google Chrome、Opera、Edge等。它最初是为Web应用程序的自动化测试而创建的,但后来也被广泛用于进行网络数据抓取和网页内容爬取,特别是那些需要JavaScript渲染的页面。Selenium提供了多种编程语言的绑定,包括Python、Java、C#、JavaScript等,使开发人员能够使用自己熟悉的编程语言来编写自动化脚本。它的核心组件包括WebDriver(提供了一组API来操作各种浏览器),Selenium IDE(一个用于浏览器自动化的集成开发环境,允许非开发人员录制和回放操作来创建自动化脚本),以及Selenium Grid(允许同时在多个浏览器和操作系统上运行测试)。

chrome_service = Service(ChromeDriverManager().install())

chrome_service = Service(ChromeDriverManager().install())是在使用Selenium库来管理Chrome浏览器的驱动。

首先,ChromeDriverManager()返回一个ChromeDriverManager对象,这个对象可以用于获取和安装ChromeDriver。ChromeDriver是一个用于与Chrome浏览器交互的二进制文件,它允许你通过编程方式控制Chrome浏览器。

然后,install()方法会返回一个WebDriver的实例,这个实例会启动一个ChromeDriver服务,并返回一个代表此服务的Service对象。这个Service对象可以用于管理这个服务,例如让它停止运行。

所以,这行代码的主要作用是启动一个ChromeDriver服务,并将其封装在Service对象中,以便后续管理。之后你就可以使用这个Service对象来启动和关闭ChromeDriver服务。在运行过程中会自动下载相关的webdriver,同时你要选安装好chrome

网站调试

打开网站https://ft.amtb.cn,如下图 分析网页源码:
python 能过selenium跟微信交互操作1,python,jquery,python,selenium,微信
选择简体的html代码
单选框

     <span id="ctl00_RBL" style="color:#404040">
                                <input id="lang_cn" type="radio" name="lang" value="zh_CN" checked='checked' /> 简体
                                <input id="lang_tw" type="radio" name="lang" value="zh_TW" /> 正體
     </span>

查询的文本框

  <input name="query" type="text" id="query" value="" title="AND Logic請用空白格開 ^_^" onkeypress="return editKeyHandler(event)" />

搜寻安钮

   <input type="button" name="searchButton" id="searchButton" accesskey="S" title="ALT+S可以直接執行搜索" value="搜尋" />

简单的代码

from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
chrome_service = Service(ChromeDriverManager().install())
from bs4 import BeautifulSoup
options = webdriver.ChromeOptions()
options.add_argument('--no-gpu')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--headless')

# Use the Service object when creating the WebDriver
driver = webdriver.Chrome(service=chrome_service, options=options)
driver.get('https://ft.amtb.cn')
# Find the element with ID "ctl00_RBL" on the page
span = driver.find_element(by=webdriver.common.by.By.ID, value="ctl00_RBL")
# Find the radio button with ID "lang_cn" within the "span" element
radio_cn = span.find_element(by=webdriver.common.by.By.ID, value="lang_cn")
radio_cn.click()
# Find the input element with ID "query" on the page
input_element =  driver.find_element(by=webdriver.common.by.By.ID, value="query")
input_element.send_keys("三界外")
# Find the search button with ID "searchButton" on the page
search_button = driver.find_element(by=webdriver.common.by.By.ID, value="searchButton")
search_button.click()
sleep(10)
# Wait for the results to load (you might want to add an explicit wait here)

# Get the updated page source after the search
page_source = driver.page_source
print(page_source)
# Close the browser window when done
soup = BeautifulSoup(page_source, 'lxml')
article = soup.find('article')
text = article.get_text()
print(text)
driver.quit()

BeautifulSoup引入进行格式化

以上的代码为了不弹出浏览器

options = webdriver.ChromeOptions()
options.add_argument('--no-gpu')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--headless')

打开网站当然看不见。如果driver = webdriver.Chrome(service=chrome_service)则可以看到弹出相关的网页。

driver = webdriver.Chrome(service=chrome_service, options=options)
driver.get('https://ft.amtb.cn')

选中简体,这里的click有一个选择的动作

# Find the element with ID "ctl00_RBL" on the page
span = driver.find_element(by=webdriver.common.by.By.ID, value="ctl00_RBL")


# Find the radio button with ID "lang_cn" within the "span" element
radio_cn = span.find_element(by=webdriver.common.by.By.ID, value="lang_cn")
radio_cn.click()

给文本查询框赋值

input_element =  driver.find_element(by=webdriver.common.by.By.ID, value="query")
input_element.send_keys("三界外")

点击窗口的功能:这里等二秒让查询界面的查询显示出来,时间需要自已调整。

search_button = driver.find_element(by=webdriver.common.by.By.ID, value="searchButton")
search_button.click()
sleep(2)
         <div class="row justify-content-center align-items-center">
                                <div class="col-12 col-lg-10 col-xl-9">
                                    <article style="font-size:1.125rem; background-color: #fafafa">
                                        <p>普贤行愿品别行疏钞  (第五十六集)  1989/1  台湾华藏讲堂  档名:04-003-0056</p>
<p>  请掀开经本,第一百七十六面,倒数第四行第六个字看起:</p>
<p>  【三约喻者。佛如良医。法如良药。僧宝如看病人。】</p>
<p>  这是从比喻上来说。众生可以说都是病人,病了, ……</p>                                    </article>
                                </div>
                            </div>

所以我们解析一下查询结果查询到第一个结果。driver.quit()闭网页 。注意如果find方法查找不到时 要做异常处理文章来源地址https://www.toymoban.com/news/detail-759472.html

page_source = driver.page_source
# Close the browser window when done
soup = BeautifulSoup(page_source, 'lxml')
article = soup.find('article')
text = article.get_text()
print(text)
driver.quit()

到了这里,关于python 能过selenium跟微信交互操作1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫——selenium_交互

    交互: 点击:button.click() 输入:inputs.send_keys() 后退操作:browser.back() 前进操作:browser.forword() 模拟js滚动:browser. 获取网页代码:page_source 退出: browser.quit() 完整代码:

    2024年02月09日
    浏览(24)
  • Python+Selenium4浏览器交互_web自动化(2)

    目录 0. 上节内容回顾 1 . 浏览器基本操作 1.1 启动 退出 1. 手动安装driver ,启动浏览器时,需要传递2个参数: 1.2 窗口设置 1.3 页面导航 1.4 获取页面信息 1.5 页面截图 2. 浏览器的高级操作 2.1 窗口切换 2.2 操作Cookies 2.3 执行JavaScript 今日内容:浏览器交互(调整窗口大小、导航

    2023年04月08日
    浏览(41)
  • Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠标操作2

            这篇说下ActionChains里常用的几种鼠标操作的方法。 ActionChains常用的鼠标操作方法 click() 鼠标左键单击 double_click() 鼠标左键双击 context_click() 鼠标右键单击 move_to_element() 鼠标移动到某个元素上(鼠标悬浮操作) click_and_hold() 点击鼠标左键,不松开 drag_and_drop() 拖拽到某

    2024年01月22日
    浏览(34)
  • 【python+selenium】键盘操作

    from selenium.webdriver.common.keys import Keys 先根据八大定位方法找到元素:se = driver.find_element(By.ID,“kw”) 1、回车键:se.send_keys(Key.ENTER) 2、删除键:se.send_keys(Key.BACK_SPACE) 3、空格键:se.send_keys(Key.SPACE) 4、制表键:se.send_keys(Key.TAB) 5、回退键:se.send_keys(Key.ESCAPE) 6、刷新键:se.send_k

    2024年02月05日
    浏览(25)
  • python的浏览器操作-selenium版本4更新操作

    2.浏览器输入:chrome://version/,获取对应版本号 3.下载驱动器版本 http://chromedriver.storage.googleapis.com/index.html 4.把驱动解压,获取驱动地址 5.0.特别注意点:运行前把执行的浏览器窗口全部关闭 5.0.窗口关闭 5.0.关闭 5.1.使用原来插件的运行cmd运行命令: 5.2.使用新的环境,cmd命令

    2024年02月07日
    浏览(46)
  • selenium+python操作cookie绕过登录

    selenium操作cookie的方法包括: 获取cookies:get_cookies();获取指定name的cookie值:get_cookie(name);删除所有cookie:delete_all_cookies();删除指定name的cookie值:delete_cookie(name);添加cookie:add_cookie(cookie_dict) 。通常可以使用cookie绕过包含验证码的登录请求,但需要事前先通过抓包等手段获取

    2024年02月15日
    浏览(34)
  • Python爬虫(4)-Selenium模拟鼠标操作

    在Selenium4.2以后的版本里面鼠标的操作方法都封装在了ActionChains中需要时直接取即可。 使用方法就是调用ActionChains然后传入你需要点击的按钮的位置即可 ActionChains(driver).double_click(f1).perform() perform()的意思就是执行所有ActionChains中的动作 具体的操作方法如下 鼠标单击就是直接

    2024年01月19日
    浏览(38)
  • python爬虫selenium操作下拉框详解

    使用python爬虫的selenium操作网页的下拉框。 以该网站为例:https://www.17sucai.com/pins/demo-show?id=5926 该网页下存在多个可供测试的下拉框。 基本脚手架代码: 定位下拉框(以第一个下拉框为例) Select()方法 不推荐这样定位 选中下拉框,点击 第一个下拉框的可选值如图所示 选择

    2024年02月11日
    浏览(40)
  • 【Python+Selenium学习系列5】Selenium特殊元素定位之-鼠标悬停操作

    Selenium模拟用户在浏览器中的操作,比如点击按钮。在某些场景下,我们需要 模拟鼠标悬停的操作,来触发一些隐藏的元素。 本文将介绍Python Selenium实现鼠标悬停操作。 鼠标悬停,即 当光标与其名称表示的元素重叠时触发的事件,在Selenium中将键盘鼠标操作封装在Action Cha

    2024年04月10日
    浏览(59)
  • 【Python_Selenium学习笔记(四)】基于Selenium模块实现键盘操作

    在 Selenium 模块中,提供了一个 Keys 类,来处理键盘操作; 在 Selenium 模块中,使用 send_keys() 方法,来模拟键盘输入, 此篇文章主要介绍如何使用 Keys 类 和 send_keys() 方法 实现 模拟键盘操作,并以具体的示例进行展示。 Keys类键盘事件 实现功能 Keys.BACK_SPACE 删除键 Keys.SPACE 空

    2023年04月09日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包