略,由于sleenium4.1.0需要python3.7以上方可支持,请注意自己的python版本。
Python3.x安装后就默认就会有pip(pip.exe默认在python的Scripts路径下),打开 cmd,使用pip安装。
pip install selenium
首次安装会有进度条,而且装出来是多个包(依赖于其他第三方库)。
如果安装慢(默认连接官网),可以指定国内源。
pip install selenium -i https://mirrors.aliyun.com/pypi/simple/
如果清华源无法安装,类似的源还有很多,如:
阿里云 https://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) https://pypi.douban.com/simple/
中国科学技术大学 https://pypi.mirrors.ustc.edu.cn/simple/
可使用以下命令查看是否安装成功:
C:\Users\22240>pip show selenium
Name: selenium
Version: 4.1.5
Summary:
Home-page: https://www.selenium.dev
Author:
Author-email:
License: Apache 2.0
Location: c:\users\22240\appdata\roaming\python\python310\site-packages
Requires: trio, trio-websocket, urllib3
Required-by:
Pycharm-File-Setting-Project:xxxx-Python Interpreter,点击+号

搜索你要安装的包,如selenium,选中后点击install package,如果慢,可以点击manage repositories修改安装源头。

安装后能看到

如果没有chrome浏览器去官网下载安装即可:https://www.google.cn/chrome/
如果已安装chrome浏览器,也建议检查下版本,太老的话建议要更新或卸载重装。
在浏览器地址栏输入chrome://version,确认chrome版本

Chromedriver下载
http://npm.taobao.org/mirrors/chromedriver/
找到自己对应的版本并下载,如果有多个版本的话,找最接近你当前浏览器版本的那个

注意chromedriver并不提供win64的版本,64位操作系统兼容32的,可放心下载。

下载完成后解压,得到 chromedriver.exe,将其放入操作系统PATH变量指向的任意路径,如 Python 的主目录。
C:\Users\22240>where python
C:\Program Files\Python310\python.exe # 那么此处C:\Program Files\Python310就是我的主目录

还可以打开cmd后输入chromedriver,输出应该类似如下,表示你部署成功了。

学习的时候一般用一个浏览器就够了,但工作的时候可能会同时测试多个浏览器。而firefox也是selenium支持的比较好的浏览器。firefox驱动的部署跟chromedriver基本是一致的。
浏览器下载路径:http://www.firefox.com.cn/
浏览器驱动下载路径:http://npm.taobao.org/mirrors/geckodriver/,火狐的驱动不需要考虑版本对应关系,只需下载最新的驱动即可。
根据操作系统信息(win32还是win64)下载对应的firefox驱动。
参考chrome驱动的部署方式,解压下载好的zip包,并把释放出来的geckodriver.exe文件放到系统PATH的任一路径下即可。
部署好了之后,可以打开cmd输入geckodriver,应该能得到提示。
接下来我们打开pycharm,新建一个py脚本,运行一个小的案例。
from selenium import webdriver
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
# 打开百度网站
driver.get("https://www.baidu.com/")
# 通过id定位到输入框
ele=driver.find_element(By.ID,"kw")
# 在输入框里输入selenium
ele.send_keys("selenium")
# 通过xpath定位【百度一下】按钮
ele=driver.find_element(By.XPATH,"//input[@id='su']")
# 点击【百度一下】按钮
ele.click()
# 关闭Chrome浏览器,关闭进程
driver.quit()
运行以上脚本,最终打开百度搜索selenium,证明运行成功。
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我试图在rails中了解rubygems是如何变得可以自动使用的,而不是在使用required的文件中gem? 最佳答案 这是通过bundler/setup完成的:http://bundler.io/v1.3/bundler_setup.html.它在您的config/boot.rb文件中是必需的。简而言之,它首先将环境变量设置为指向您的Gemfile:ENV['BUNDLE_GEMFILE']||=File.expand_path('../../Gemfile',__FILE__)然后它通过要求bundler/setup将所有ge
我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption
我将Cucumber与Ruby结合使用。通过Selenium-Webdriver在Chrome中运行测试时,我想将下载位置更改为测试文件夹而不是用户下载文件夹。我当前的chrome驱动程序是这样设置的:Capybara.default_driver=:seleniumCapybara.register_driver:seleniumdo|app|Capybara::Selenium::Driver.new(app,:browser=>:chrome,desired_capabilities:{'chromeOptions'=>{'args'=>%w{window-size=1920,1
我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解