当前位置:首页 » 网页前端 » selenium怎么设置web元素
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

selenium怎么设置web元素

发布时间: 2023-06-14 05:22:33

Ⅰ selenium自动化测试中,python脚本无法操作网页页面元素!

这个读不了网页元素,是因为你的网页都没有打开!它怎么去读取元素。建议用chrome来做这些页面操作,会比较好用,没有这么多问题,IE和Firefox对这个webdriver支持不太好,会有很多问题!

Ⅱ [Selenium自动化测试实战] 不打开浏览器如何进行WEB自动化测试

在一般的使用场景下,使用selenium进行web自动化测试都需要打开一个浏览器的实体,测试脚本通过控制webdriver来对浏览器进行操作。但是在一些场景下测试工程师需要在不打开浏览器的情况下进行自动化测试,也就是以headless的方式运行自动化测试。



业界有一些headless的第三方库可以使用,例如大名鼎鼎的PhantomJS。但是这些工具的安装很复杂,同时不一定保证持续的维护。

现在全球最受欢迎的浏览器Chrome在Chrome 59 (Chrome 60 for Windows)版本中已经支持了headless mode,只需要配置一些简单的参数就可以实现。

首先要确认自己机子上的Chrome版本。

require 'selenium-webdriver'

options = Selenium::WebDriver::Chrome::Options.new

options.add_argument('--headless')

options.add_argument('--disable-gpu')

options.add_argument('--remote-debugging-port=9222')

driver = Selenium::WebDriver.for :chrome, options: options

driver.get "https://www.jd.com"

driver.save_screenshot("#{File.dirname(__FILE__)}/#{Time.now.strftime("%F")}")

通过在Selenium::WebDriver::Chrome::Options类的对象中添加argumentoptions.add_argument('--headless'),可以让我们在Chrome在headless模式下运行。

而第二个argument的作用是针对现有bug的work around。第三个argument的作用则是允许我们可以在另外一个浏览器中debug。

为了观测运行的情况,我保存了一个屏幕截图。

相比于之前的headless web自动化方案,Chrome的优势在于设置的方便,甚至可以和当前的框架无缝切换,同时Chrome作为最为主流的浏览器,你也不用担心持续维护的问题。