Win10 python环境测试selenium加IE浏览器自动化-踩坑实录

这篇具有很好参考价值的文章主要介绍了Win10 python环境测试selenium加IE浏览器自动化-踩坑实录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【背景】

需要访问某个旧网址,仅支持IE浏览器访问。为了实现自动化,被迫采用python加selenium、加IE浏览器来做。

【实录】

selenium采用IE浏览器方式的资料不多,网上可供参考范例不多。以下实时记录整个过程,实现调通一个基本访问实例。

【第一步】安装正确版本的selenium、urllib3和IE driver。

经查阅资料,目前能找到的最高版本带IE driver支持的selenium是3.141.0版本

pip install selenium==3.141.0

pip uninstall urllib3
pip install urllib3==1.26.2

【踩坑之一】注意,需要卸载自动安装的urllib3,因为自动安装版本为2.1.0,与selenium 3.141.0冲突,会导致如下运行报错:

ie浏览器selenium,python,python,selenium,自动化

 IE driver从这里下载:http://selenium-release.storage.googleapis.com/index.html

将IEDriverServer.exe放置在py脚本程序的当前路径。

【第二步】上范例代码

from selenium import webdriver

iedriver = os.path.join(os.getcwd(), 'IEDriverServer.exe')
print(iedriver)
os.environ["webdriver.ie.driver"] = iedriver  # 调用IE浏览器

driver = webdriver.Ie(iedriver, options=options)
driver.get('https://www.baidu.com')

print('登陆成功')

踩坑之二:执行上面的范例代码,会出现如下报错,

selenium.common.exceptions.SessionNotCreatedException: Message: Unexpected error launching Internet Explorer. Browser zoom level was set to 125%. It should be set to 100%

将win10操作系统显示设置调回100%即可(chromedriver没这个问题,仅IE需要)

ie浏览器selenium,python,python,selenium,自动化

缩放比例调整为100%后,运行代码,可以执行了,但。。。执行不下去

【踩坑之三】在driver.get('https://www.baidu.com')一直执行,driver.get方法始终不返回,需要很久很久才会报错:

ie浏览器selenium,python,python,selenium,自动化

也就是说:网页可以load,但是系统得不到正确的响应,会stuck在起始url页面,无法继续

【解决方案】调整一个options,调整启动后的IE浏览器“internet选项”两个地方参数才行,三者缺一不可。

(1)调整options,范例如下:

from selenium import webdriver 
options = webdriver.IeOptions() 
options.ignore_protected_mode_settings = True 
driver = webdriver.Ie(options=options) 
driver.get("https://www.baidu.com") 

(2)调整internet选项-安全,框框中四个地方都必须调成一样的,不勾选“启用保护模式”

ie浏览器selenium,python,python,selenium,自动化

(3)调整--Internet选项--高级,如下图,不勾选---启用增强保护模式

 ie浏览器selenium,python,python,selenium,自动化

【完整代码范例】

from selenium import webdriver
from selenium.webdriver.common.by import By
import os
import time


iedriver = os.path.join(os.getcwd(), 'IEDriverServer.exe')
print(iedriver)
os.environ["webdriver.ie.driver"] = iedriver  # 调用IE浏览器

options = webdriver.IeOptions()
options.ignore_protected_mode_settings = True
browser1 = webdriver.Ie(iedriver, options=options)


def exec_js(browser, js_str):
    browser.execute_script(js_str)


def get_csdn_article_list(blog_url):
    # url = 'https://blog.csdn.net/cdl3'

    browser1 = webdriver.Ie(iedriver)
    browser1.get(blog_url)
    browser1.maximize_window()
    time.sleep(2)
    # 关闭各种登录弹窗
    exec_js(browser1, '$(".login-box").css("display","none")')
    exec_js(browser1, '$(".passport-login-tip-container").css("display","none")')
    exec_js(browser1, '$(".csdn-toolbar-creative-mp").css("display","none")')
    main_content = browser1.find_element(By.CLASS_NAME, 'mainContent')
    article_link_list = []
    if main_content:
        article_list = main_content.find_elements(By.TAG_NAME, 'article')
        for article in article_list:
            url2 = article.find_element(By.TAG_NAME, 'a').get_attribute('href')
            title = article.find_element(By.TAG_NAME, 'h4').text
            detail = article.find_element(By.CLASS_NAME, 'blog-list-content').text

            view_num = article.find_element(By.CLASS_NAME, 'view-num').text.replace('·', '')
            dianzan_num = article.find_element(By.CLASS_NAME, 'give-like-num').text.replace('·',
                                                                                            '')
            print(url2, title, detail, view_num, dianzan_num)
            article_link_list.append((url2, title))

    if len(article_link_list) > 0:
        return article_link_list
    return None


def test1():
    blog_url = 'https://blog.csdn.net/cdl3'
    get_csdn_article_list(blog_url)
    browser1.quit()


if __name__ == '__main__':
    test1()

 【实现效果】如下:

ie浏览器selenium,python,python,selenium,自动化

 【发文章不易,请多多关注、点赞、下载、支持!谢谢!】文章来源地址https://www.toymoban.com/news/detail-810826.html

到了这里,关于Win10 python环境测试selenium加IE浏览器自动化-踩坑实录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Win10系统下禁止ie浏览器自动跳转到Microsoft Edge浏览器

    当有些情况下,需要使用ie浏览器时,但是当我们打开ie浏览器会自动跳转到Microsoft Edge浏览器,该如何设置,来禁止它自动跳转呢?

    2024年02月11日
    浏览(69)
  • win10系统打开IE浏览器后会自动跳转到Edge。

    解决win10系统打开IE浏览器后会自动跳转到Edge浏览器。win10系统自动升级后无法打开IE,打开也是自动跳转到系统自带的Edge浏览器,但有些业务系统只能用IE,下面就教大家怎么解决这个问题。(win11用同样方法也可以解决) 打开win10的控制面板, 打开网络和lnterent  打开lnte

    2024年02月11日
    浏览(51)
  • win10进行安装使用11ie浏览器——遇到问题合集解决(执行一遍、问题解决)

    因为需要访问的页面,只能兼容使用对应的ie进行访问,所以才开始安装并使用ie。再次总结自己踩的坑。 切记注意 操作完 一下步骤 请重启电脑 首先使用ie的前提就是需要确保自己的电脑上是有ie的 检验方式之一 之间进行——“开始”——进行搜索。 或者检验这个地方 打

    2024年02月04日
    浏览(69)
  • Python通过selenium调用IE11浏览器报错解决方法

    正常安装Python 工具,selenium 包可以正常导入。IE浏览器驱动 IEDriverServer.exe 已经正确放置到已经添加path目录的文件下。 报错现象: 打开浏览器进入 internet 选项 切换到安全页签 ,去除“应用保护模式” 再次调用验证: 没有报错,问题解决 https://github.com/SeleniumHQ/selenium/wiki

    2024年02月07日
    浏览(82)
  • Win10 IE11浏览器,您正在查看的页使用 Java,Microsoft 网站提供有关 Java 支持的更多信息 解决

    最近工作需要支持下IE11浏览器,使用java applet控件。 以前IE10及以下版本都比较正常,但是IE11会出现一些比较奇怪的现象。 记录下解决的方法和过程,便于有需要的同学自取。 1.首先是报错,如下图所示;这个网上搜索了较多的资料,分析下来核心的原因是浏览器未启用ja

    2024年02月09日
    浏览(85)
  • win11系统如何使用IE浏览器

    在Win11系统中,Microsoft Edge浏览器已经取代IE浏览器,成为默认浏览器。但如果用户仍需使用IE浏览器,可以通过以下步骤启用和安装: 1. 启用IE浏览器组件。在Win11的“控制面板”中打开“程序和功能”,选择“打开或关闭Windows功能”,勾选“Internet Explorer 11”,点击“确定”启用IE11浏

    2024年02月05日
    浏览(77)
  • selenium的java方式打开IE浏览器

    3)选择项目下的已解压selenium-java-3.141.59后的lib目录及两个jar,点击确定完成即可。 IE驱动下载地址:https://www.selenium.dev/downloads/,根据自己电脑选择对应的下载,放入电脑E:driver 1)打开edge浏览器,启用IE模式,找到更多工具的 Internet选项 2)点击安全,将下图四个选项都设置

    2024年02月15日
    浏览(53)
  • 免费 Selenium各大浏览器驱动【谷歌chrme、火狐Firefox、IE浏览器】

    aardio群 625494397 废话不多说 直接开整! 竟然还有脸收费 服了 下载对应版本的浏览器驱动 目标网址 应用场景 Selenium库涉及到 安装selenium库 下载对应浏览器驱动 找到浏览器对应版本 最后直接上代码

    2024年02月16日
    浏览(74)
  • win7上安装microsoft edge浏览器, 模拟ie11模式

    使用场景 : 近期使用vue2开发项目,win7电脑需要兼容ie11,所以使用edge浏览器模拟ie11,踩得坑比较多,在此记录一下。 [官网] https://www.microsoft.com/en-us/edge 打开exe文件,如果有安全提示,可以关闭: windows关闭安全提示: cmd gpedit.msc 进入本地组策略编辑器 用户配置- 管理模板

    2024年02月04日
    浏览(72)
  • 【python爬虫】10.指挥浏览器自动工作(selenium)

    上一关,我们认识了cookies和session。 分别学习了它们的用法,以及区别。 还做了一个项目:带着小饼干登录,然后在博客中发表评论。 除了上一关所讲的登录问题,在爬虫过程中,我们还可能会遇到各种各样棘手的问题—— 有的网站登录很复杂,验证码难以破解,比如大名

    2024年02月10日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包