在Robot框架中使用Selenium.Webdriver和SeleniumLibrary

2024-04-27 04:14:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我是IT和自动化QA方面的新手,在RobotFramework中使用Selenium库和Selenium库时遇到问题。据我所知,SeleniumLibrary将支持在Robot框架(RF)中使用方法作为关键字。 假设在*.py文件中,我可以使用Selenium调用open browser:

driver = webdriver.Chrome() driver.get("https://google.com") ...

在*.robot中,我打开一个带有SeleniumLibrary的浏览器,如:

open browser https://google.com

在研究许多解决方案的过程中,我发现了许多关于Selenium的教程,它们很容易理解和应用,但在我的项目中,它们通过以下方式扩展了Selenium库:

driver = SeleniumLibrary
driver.open_browser("https://google.com")

=driver.get("https://google.com")in*.py(from selenium import webdriver

我觉得很难阅读SeleniumLibrary的源代码,例如,如果我需要使用 find_element(By.ID/CSS/etc.., "abc")在*.py和SeleniumLibrary中,我只搜索了它

def find_element(
        self,
        locator: str,
        tag: Optional[str] = None,
        required: bool = True,
        parent: WebElement = None,
    )

我不知道如何像以前那样使用selenium.webdriver编写代码。。 有人帮我清理吗?如何在*.py文件中使用等于driver.find_element_by_CSS_selector(SeleniumLibrary的driver.find_elementdriver.find_element(SeleniumLibrary的driver.find_element_by_CSS_selector)(SeleniumLibrary的driver.find_element_by_CSS_selector)文件


Tags: 文件pyhttpsbrowsercombydriverselenium
1条回答
网友
1楼 · 发布于 2024-04-27 04:14:04

有各种各样的策略如何在页面上定位元素,请阅读文档here

关键是,要对所定位的元素执行某些操作,在Python中,通常分两步执行,首先找到元素,然后单击它(例如)。在Robot框架中,您可以这样一步完成:

Click Element    id:foo

就这些。此处注意两个步骤:

  • 在DOM中查找元素
  • 单击元素

Robot框架比Python更高级,所以它中的许多任务需要更少的代码行。我想这就是你要问的,你还不习惯。我建议在一个小项目上使用RF来学习它。您总是在Internet上准备好文档

相关问题 更多 >