如何用Python编写代码抓取网页弹出窗口内容示例?

2026-05-28 21:421阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计936个文字,预计阅读时间需要4分钟。

如何用Python编写代码抓取网页弹出窗口内容示例?

此文档仅用于学习笔记。以下是在Python环境下如何爬取弹出窗口内容的示例:

在Python中,可以使用`Selenium`库来模拟浏览器操作,实现点击页面元素后获取弹出窗口中的信息。以下是一个简单的示例:

pythonfrom selenium import webdriver

创建WebDriver实例driver=webdriver.Chrome()

打开目标网页driver.get(目标网页URL)

找到需要点击的元素并点击element_to_click=driver.find_element_by_id(元素ID)element_to_click.click()

等待弹出窗口出现driver.implicitly_wait(10)

获取弹出窗口pop_up_window=driver.window_handles[1]

切换到弹出窗口driver.switch_to.window(pop_up_window)

获取所需信息info=driver.find_element_by_id(信息元素ID).text

关闭弹出窗口driver.close()

关闭浏览器driver.quit()

输出获取的信息print(info)

如何用Python编写代码抓取网页弹出窗口内容示例?

此文仅当学习笔记用.

这个实例是在Python环境下如何爬取弹出窗口的内容,有些时候我们要在页面中通过点击,然后在弹出窗口中才有我们要的信息,所以平常用的方法也许不行.

这里我用到的是Selenium这个工具, 不知道的朋友可以去搜索一下. 但是安装也是很费事的. 而且我用的浏览器是firefox,不用IE是因为好像新版的IE在Selenium下有问题,我也是百思不得其解, 网上也暂时没找到好的办法.

from selenium import webdriver from selenium.webdriver.common.keys import Keys import os,time

browser=webdriver.Firefox(executable_path='d:\\Anaconda\\pkgs\\spyder-3.2.8-py36_0\\geckodriver.exe') #括号中的也是非典型的安装firefox驱动的方法,常规的方法我一直试的不行,但这种方法包管行. browser.get('XXX.XXX.com/fenxi/yazhi-734155') #输入你的目标网址 time.sleep(3) #打开网址后休息3秒钟,可用可不用 browser.find_element_by_xpath('//*[@id="6"]/td[4]').click() #找到想要点击的元素,然后进行点击动作,让窗口弹出来 handle=browser.current_window_handle #获得当前窗口,也就是弹出的窗口句柄,什么是句柄我也解释不清楚,反正它代表当前窗口 browser.switch_to_window(handle) #转到当前弹出窗口 s=browser.find_element_by_xpath('//*[@id="tipdiv"]/div[2]/table/tbody') #找到装有你要信息的元素 print(s.text) #打印文本内容 time.sleep(2) #休息2秒,让浏览器喘口气 browser.find_element_by_xpath('//*[@id="link106"]').click() #最后关掉弹出窗口. 这又是一个非典型方法,我是直接找到小窗口的叉叉来点击关掉了,实际上Selinium有关闭当前窗口的方法,也就是close()或者quit(),但问题是搞来搞去不行啊?我的理解是目前的窗口依然是那个弹出的窗口,但handle.close等其它方法都不行. 所以我干脆用这样的方法,找到叉叉的元素,然后点击.

最后找元素我还是喜欢用xpath,有个小窍门,那就是在浏览器的开发者工具那里面,找到需要元素的元代码,然后右键选择Copy Xpath就有了,相当方便.

补充知识:python自动化测试中,点击按钮,弹窗出不来怎么办?

一、在用python写UI自动化测试的时候,可能会遇到明明用.click()点击了按钮,但是弹窗弹不出来;

遇到这个问题的时候,不妨可以试试模拟键盘的操作,利用.send_keys(Keys.ENTER)便可以解决这个问题;

代码:

driver.find_element_by_xpath(“//*[@id='main']/div/div[3]/div/div/div[2]/div/div[2]/div[2]/div/div[2]/table/tbody/tr/td[9]/div/button/span”).click()

修改为:

driver.find_element_by_xpath(“//*[@id='main']/div/div[3]/div/div/div[2]/div/div[2]/div[2]/div/div[2]/table/tbody/tr/td[9]/div/button/span”).send_keys(Keys.ENTER)

以上这篇使用Python爬取弹出窗口信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

标签:实例此文

本文共计936个文字,预计阅读时间需要4分钟。

如何用Python编写代码抓取网页弹出窗口内容示例?

此文档仅用于学习笔记。以下是在Python环境下如何爬取弹出窗口内容的示例:

在Python中,可以使用`Selenium`库来模拟浏览器操作,实现点击页面元素后获取弹出窗口中的信息。以下是一个简单的示例:

pythonfrom selenium import webdriver

创建WebDriver实例driver=webdriver.Chrome()

打开目标网页driver.get(目标网页URL)

找到需要点击的元素并点击element_to_click=driver.find_element_by_id(元素ID)element_to_click.click()

等待弹出窗口出现driver.implicitly_wait(10)

获取弹出窗口pop_up_window=driver.window_handles[1]

切换到弹出窗口driver.switch_to.window(pop_up_window)

获取所需信息info=driver.find_element_by_id(信息元素ID).text

关闭弹出窗口driver.close()

关闭浏览器driver.quit()

输出获取的信息print(info)

如何用Python编写代码抓取网页弹出窗口内容示例?

此文仅当学习笔记用.

这个实例是在Python环境下如何爬取弹出窗口的内容,有些时候我们要在页面中通过点击,然后在弹出窗口中才有我们要的信息,所以平常用的方法也许不行.

这里我用到的是Selenium这个工具, 不知道的朋友可以去搜索一下. 但是安装也是很费事的. 而且我用的浏览器是firefox,不用IE是因为好像新版的IE在Selenium下有问题,我也是百思不得其解, 网上也暂时没找到好的办法.

from selenium import webdriver from selenium.webdriver.common.keys import Keys import os,time

browser=webdriver.Firefox(executable_path='d:\\Anaconda\\pkgs\\spyder-3.2.8-py36_0\\geckodriver.exe') #括号中的也是非典型的安装firefox驱动的方法,常规的方法我一直试的不行,但这种方法包管行. browser.get('XXX.XXX.com/fenxi/yazhi-734155') #输入你的目标网址 time.sleep(3) #打开网址后休息3秒钟,可用可不用 browser.find_element_by_xpath('//*[@id="6"]/td[4]').click() #找到想要点击的元素,然后进行点击动作,让窗口弹出来 handle=browser.current_window_handle #获得当前窗口,也就是弹出的窗口句柄,什么是句柄我也解释不清楚,反正它代表当前窗口 browser.switch_to_window(handle) #转到当前弹出窗口 s=browser.find_element_by_xpath('//*[@id="tipdiv"]/div[2]/table/tbody') #找到装有你要信息的元素 print(s.text) #打印文本内容 time.sleep(2) #休息2秒,让浏览器喘口气 browser.find_element_by_xpath('//*[@id="link106"]').click() #最后关掉弹出窗口. 这又是一个非典型方法,我是直接找到小窗口的叉叉来点击关掉了,实际上Selinium有关闭当前窗口的方法,也就是close()或者quit(),但问题是搞来搞去不行啊?我的理解是目前的窗口依然是那个弹出的窗口,但handle.close等其它方法都不行. 所以我干脆用这样的方法,找到叉叉的元素,然后点击.

最后找元素我还是喜欢用xpath,有个小窍门,那就是在浏览器的开发者工具那里面,找到需要元素的元代码,然后右键选择Copy Xpath就有了,相当方便.

补充知识:python自动化测试中,点击按钮,弹窗出不来怎么办?

一、在用python写UI自动化测试的时候,可能会遇到明明用.click()点击了按钮,但是弹窗弹不出来;

遇到这个问题的时候,不妨可以试试模拟键盘的操作,利用.send_keys(Keys.ENTER)便可以解决这个问题;

代码:

driver.find_element_by_xpath(“//*[@id='main']/div/div[3]/div/div/div[2]/div/div[2]/div[2]/div/div[2]/table/tbody/tr/td[9]/div/button/span”).click()

修改为:

driver.find_element_by_xpath(“//*[@id='main']/div/div[3]/div/div/div[2]/div/div[2]/div[2]/div/div[2]/table/tbody/tr/td[9]/div/button/span”).send_keys(Keys.ENTER)

以上这篇使用Python爬取弹出窗口信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

标签:实例此文