selenium和geckodriver chromedriver协同模拟浏览器

简介: selenium和geckodriver chromedriver协同模拟浏览器

selenium和geckodriver协同

先注意一件事,之前通过学习了解到,selenium和chromedriver不能随意乱用,每一个版本必须和相关的driver匹配才能运行。


https://blog.csdn.net/huilan_same/article/details/51896672

Firefox同理。


1、下载驱动,geckodriver是firefox的驱动程序,下载:https://github.com/mozilla/geckodriver/releases


当然,这个地址太慢了。换用早一点版本的也可以:http://www.opdown.com/soft/100742.html#download


下载之后,按照windows的64位/32位系统,解压到自己的python文件夹,添加系统的环境变量PATH。比如python装在C:\ANACONDA3\Scripts了,就把这个目录添加到PATH进去。


2、尝试单独运行driver,进入cmd,输入geckodriver回车,看到类似这样的提示

1548067351009   geckodriver     INFO    Listening on 127.0.0.1:4444

就说明可以了。


以下是chrome和geckodriver的对应关系表,v2.0对应了31-34,技术不能操之过急啊。如果使用某版本的chrome,必须使用相应版本的driver,否则启动失败。


http://chromedriver.storage.googleapis.com/index.html


3、配合浏览器。下载相应的浏览器。截止当前时间,driver是(下载的时候可以看到geckodriver-v0.22.0-win64,那么就是0.22版)0.22,下载firefox51.0,启动成功。


import time
import sys
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
#初始化driver需要传入FirefoxBinary变量,变量详解请见help
binary = FirefoxBinary('C:\\Program Files\\Firefox51\\firefox.exe', log_file=sys.stdout)
driver = webdriver.Firefox(firefox_binary=binary)
driver.get("http://www.sogou.com")
driver.find_element_by_id("query").clear()
driver.find_element_by_id("query").send_keys("Python")
driver.find_element_by_id("stb").click()
time.sleep(10)
driver.quit()


说明一下,搜狗的input输入框id是query,提交按钮id是stb。可以通过浏览器按F12或者右键-查看元素(O)看到。


目录
相关文章
|
9天前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
|
25天前
|
Web App开发 缓存 Linux
高效Selenium测试技巧:轻松控制已开启的浏览器
【10月更文挑战第13天】在进行Selenium测试时,通常会启动新浏览器实例,但有时需要控制已开启的浏览器,以节省时间并更真实地模拟用户行为。这可通过设置Chrome为可远程控制并使用`Remote WebDriver`连接实现。需在启动Chrome时添加`--remote-debugging-port`参数,并通过Python脚本中的`webdriver.Remote`连接至指定端口。此外,还可利用会话ID(Session ID)重新连接浏览器,提高测试灵活性。需要注意浏览器版本兼容性及元素定位稳定性等问题,确保测试准确性和一致性。
179 1
|
30天前
|
Web App开发 Java 测试技术
使用selenium+chromedriver+xpath爬取动态加载信息(一)
使用selenium+chromedriver+xpath爬取动态加载信息(一)
43 1
|
2月前
|
数据采集 Web App开发 测试技术
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
在网络爬虫领域,Selenium与WebDriver是实现跨浏览器自动化数据抓取的利器。本文详细介绍了如何利用Selenium和WebDriver结合代理IP技术提升数据抓取的稳定性和效率。通过设置user-agent和cookie来模拟真实用户行为,避免被网站检测和阻止。文章提供了具体的代码示例,展示了如何配置代理IP、设置user-agent和cookie,并实现了跨浏览器的数据抓取。合理的参数配置能有效减少爬虫被封禁的风险,提高数据抓取效率。
229 6
使用Selenium与WebDriver实现跨浏览器自动化数据抓取
|
18天前
|
Web App开发
Selenium操作360浏览器
Selenium操作360浏览器
20 0
|
30天前
使用selenium+chromedriver+xpath爬取动态加载信息(二)
使用selenium+chromedriver+xpath爬取动态加载信息(二)
36 0
|
3月前
|
数据采集 Web App开发 测试技术
使用Selenium调试Edge浏览器的常见问题与解决方案
在互联网数据采集领域,Selenium常用于自动化网页爬取。针对使用Edge浏览器时遇到的启动远程调试失败、访问受限及代理IP设置等问题,本文提供了解决方案。通过特定命令启动Edge的远程调试模式,并利用Python脚本配合Selenium库,可实现代理IP、User-Agent的设定及Cookie管理等高级功能,有效提升爬虫稳定性和隐蔽性。遵循步骤配置后,即可顺畅执行自动化测试任务。
671 1
使用Selenium调试Edge浏览器的常见问题与解决方案
|
4月前
|
数据采集 Web App开发 JavaScript
快速参考:用C# Selenium实现浏览器窗口缩放的步骤
在C#结合Selenium的网络爬虫应用中,掌握浏览器窗口缩放、代理IP、cookie与user-agent设置至关重要。本文详述了如何配置代理(如亿牛云加强版),自定义用户代理,启动ChromeDriver,并访问目标网站如抖音。通过执行JavaScript代码实现页面缩放至75%,并添加cookie增强匿名性。此策略有效规避反爬机制,提升数据抓取的准确度与范围。代码示例展示了整个流程,确保爬虫操作的灵活性与高效性。
110 3
|
4月前
|
Web App开发 测试技术 持续交付
Selenium 跨浏览器和跨平台
Selenium 跨浏览器和跨平台
|
4月前
|
Web App开发 XML Java
《手把手教你》系列基础篇(九十六)-java+ selenium自动化测试-框架之设计篇-跨浏览器(详解教程)
【7月更文挑战第14天】这篇教程介绍了如何使用Java和Selenium构建一个支持跨浏览器测试的自动化测试框架。设计的核心是通过读取配置文件来切换不同浏览器执行测试用例。配置文件中定义了浏览器类型(如Firefox、Chrome)和测试服务器的URL。代码包括一个`BrowserEngine`类,它初始化配置数据,根据配置启动指定的浏览器,并提供关闭浏览器的方法。测试脚本`TestLaunchBrowser`使用`BrowserEngine`来启动浏览器并执行测试。整个框架允许在不同浏览器上运行相同的测试,以确保兼容性和一致性。
89 3