首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的机器人过程自动化脚本在通过本地Jenkins执行时失败,但在通过控制台运行时工作正常。

我的机器人过程自动化脚本在通过本地Jenkins执行时失败,但在通过控制台运行时工作正常。
EN

Stack Overflow用户
提问于 2022-10-06 12:27:22
回答 1查看 70关注 0票数 0
代码语言:javascript
运行
复制
Framework=Robot Process Automation
IDE=Pycharm
Libary= mutliple libabaries selenium, robotframework etc.

我编写了一个简单的脚本来通过定位器识别web元素(输入文本框)。定位器可以是xpath、name或id。

THe脚本在通过控制台执行时运行良好,但在通过Jenkins.If执行时失败,我删除了这些定位器,我的脚本在Jenkins (安装在本地机器上)中运行良好。我试图在Jenkins中安装selenium插件,但仍然存在相同的错误。在詹金斯,我得到了这个错误

代码语言:javascript
运行
复制
AttributeError: 'WebDriver' object has no attribute 'find_elements_by_name'
AttributeError: 'WebDriver' object has no attribute 'find_elements_by_xpath'

下面是我的脚本失败了

代码语言:javascript
运行
复制
** Settings ***
Library  SeleniumLibrary

*** Variables ***
${url}  https://login

${browser}      Chrome

*** Test Cases ***
open browser      ${url}    ${browser}
    sleep  10
   input text   name:username     Admin
    sleep  10
   input text   xpath://body/div[@id='app']/div[1]/div[1]/div[1]/div[1]/div[2]/div[2]/form[1]/div[2]/div[1]/div[2]/input[1]        admin123
    sleep  10

(我增加睡眠是为了确保睡眠不是时间问题。)

以下脚本在Jenkins中运行良好

代码语言:javascript
运行
复制
*** Settings ***
Library  SeleniumLibrary

*** Variables ***
${url}  https://
${browser}      Chrome
*** Test Cases ***
PageTitle
    open browser      ${url}    ${browser}
    sleep  2
    title should be   Robot Framework
    close browser

最初,我在控制台中得到了相同的错误,但是后来我在PhyCharm IDE中安装了SeleniumVersion3.3.0,它在控制台级别解决了这个问题

任何想法都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-10-06 13:30:04

它失败了,因为它使用的是较新版本的selenium,它删除了一些不推荐的方法,例如find_elements_by_name4.3.0版本中的find_elements_by_xpath。参见更改:https://github.com/SeleniumHQ/selenium/blob/a4995e2c096239b42c373f26498a6c9bb4f2b3e7/py/CHANGES

代码语言:javascript
运行
复制
Selenium 4.3.0
* Deprecated find_element_by_* and find_elements_by_* are now removed (#10712)
* Deprecated Opera support has been removed (#10630)
* Fully upgraded from python 2x to 3.7 syntax and features (#10647)
* Added a devtools version fallback mechanism to look for an older version when mismatch occurs (#10749)
* Better support for co-operative multi inheritance by utilising super() throughout
* Improved type hints throughout

现在,您需要为您的情况使用以下方法:

代码语言:javascript
运行
复制
driver.find_elements("name", NAME)

代码语言:javascript
运行
复制
driver.find_elements("xpath", XPATH_SELECTOR)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73973800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档