编写第一个Selenium脚本
逐步构建一个Selenium脚本的说明
当你完成 Selenium安装 后, 便可以开始书写Selenium脚本了.
八个基本组成部分
Selenium所做的一切,
就是发送给浏览器命令,
用以执行某些操作或为信息发送请求.
您将使用Selenium执行的大部分操作,
都是以下基本命令的组合
点击 “View full example on GitHub” 的链接以查看上下文中的代码.
1. 使用驱动实例开启会话
关于如何启动会话,请浏览我们的文档 驱动会话
/examples/java/src/test/java/dev/selenium/getting_started/FirstScript.java
/examples/python/tests/getting_started/first_script.py
/examples/dotnet/SeleniumDocs/GettingStarted/FirstScript.cs
/examples/ruby/spec/getting_started/first_script.rb
/examples/javascript/test/getting_started/firstScript.spec.js
/examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt
2. 在浏览器上执行操作
在本例中, 我们
导航
到一个网页.
/examples/java/src/test/java/dev/selenium/getting_started/FirstScript.java
/examples/python/tests/getting_started/first_script.py
/examples/dotnet/SeleniumDocs/GettingStarted/FirstScript.cs
/examples/ruby/spec/getting_started/first_script.rb
/examples/javascript/test/getting_started/firstScript.spec.js
/examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt
您可以请求一系列关于浏览器的信息 ,
包括窗口句柄、浏览器尺寸/位置、cookie、警报等.
/examples/java/src/test/java/dev/selenium/getting_started/FirstScript.java
/examples/python/tests/getting_started/first_script.py
/examples/dotnet/SeleniumDocs/GettingStarted/FirstScript.cs
/examples/ruby/spec/getting_started/first_script.rb
/examples/javascript/test/getting_started/firstScript.spec.js
/examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt
4. 建立等待策略
将代码与浏览器的当前状态同步
是Selenium面临的最大挑战之一,
做好它是一个高级主题.
基本上, 您希望在尝试定位元素之前,
确保该元素位于页面上,
并且在尝试与该元素交互之前,
该元素处于可交互状态.
隐式等待很少是最好的解决方案,
但在这里最容易演示,
所以我们将使用它作为占位符.
阅读更多关于等待策略
的信息.
/examples/java/src/test/java/dev/selenium/getting_started/FirstScript.java
/examples/python/tests/getting_started/first_script.py
/examples/dotnet/SeleniumDocs/GettingStarted/FirstScript.cs
/examples/ruby/spec/getting_started/first_script.rb
/examples/javascript/test/getting_started/firstScript.spec.js
/examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt
大多数Selenium会话中的主要命令都与元素相关,
如果不先找到元素,
就无法与之交互.
/examples/java/src/test/java/dev/selenium/getting_started/FirstScript.java
/examples/python/tests/getting_started/first_script.py
/examples/dotnet/SeleniumDocs/GettingStarted/FirstScript.cs
/examples/ruby/spec/getting_started/first_script.rb
/examples/javascript/test/getting_started/firstScript.spec.js
/examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt
6. 操作元素
对于一个元素,
只有少数几个操作可以执行,
但您将经常使用它们.
/examples/java/src/test/java/dev/selenium/getting_started/FirstScript.java
/examples/python/tests/getting_started/first_script.py
/examples/dotnet/SeleniumDocs/GettingStarted/FirstScript.cs
/examples/ruby/spec/getting_started/first_script.rb
/examples/javascript/test/getting_started/firstScript.spec.js
/examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt
7. 获取元素信息
元素存储了很多被请求的信息.
/examples/java/src/test/java/dev/selenium/getting_started/FirstScript.java
/examples/python/tests/getting_started/first_script.py
/examples/dotnet/SeleniumDocs/GettingStarted/FirstScript.cs
/examples/ruby/spec/getting_started/first_script.rb
/examples/javascript/test/getting_started/firstScript.spec.js
/examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt
8. 结束会话
这将结束驱动程序进程,
默认情况下, 该进程也会关闭浏览器.
无法向此驱动程序实例发送更多命令.
详见 Quitting Sessions.
/examples/java/src/test/java/dev/selenium/getting_started/FirstScript.java
/examples/python/tests/getting_started/first_script.py
/examples/dotnet/SeleniumDocs/GettingStarted/FirstScript.cs
/examples/ruby/spec/getting_started/first_script.rb
/examples/javascript/test/getting_started/firstScript.spec.js
/examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt
运行 Selenium 文件
/examples/java/README.md
/examples/python/README.md
/examples/dotnet/README.md
/examples/ruby/README.md
/examples/javascript/README.md
接下来的步骤
大多数 Selenium 用户执行许多会话,
需要组织它们以最大限度地减少重复并维持代码更易于维护.
请继续阅读,了解如何将此代码放入您用例的上下文中
使用 Selenium.