【问题标题】:Selenium click chrome physical buttons like menu, left, right navigation, bookmarksSelenium click chrome 物理按钮,如菜单、左、右导航、书签
【发布时间】:2018-04-12 15:00:28
【问题描述】:

我正在进行一些自动化工作,根据我的要求,我需要点击 Chrome 物理按钮,如左导航、右导航、书签、菜单等。我可以使用快捷方式,但我的要求是点击浏览器纽扣。任何想法都会有所帮助。提前致谢。

【问题讨论】:

  • 请考虑接受您的问题的答案以结束此问题。

标签: java python google-chrome selenium selenium-chromedriver


【解决方案1】:

根据您的问题,点击 Chrome 物理按钮,例如左侧导航、右侧导航、书签、菜单等。

但是,如果您查看 Selenium Home Page 中的文档,它会清楚地提到:

Selenium 提供的整套工具产生了一组丰富的测试功能,专门针对 Web 应用程序的测试需求。这些操作提供了许多用于定位 UI 元素并将预期测试结果与实际应用程序行为进行比较的选项。

事实上,Selenium 在设计上与HTML DOM 和位于DOM Tree 中的WebElements 交互

现在需要的控件,例如左导航右导航书签菜单不在DOM中。因此,您不能模拟对这些控件的点击。

然而,所有的Selenium 语言绑定艺术 都提供了一些方法来实现相同的结果。以下是 Selenium Python 绑定艺术中的一些内容

  • 最大化:最大化浏览器窗口。

    driver.maximize_window()
    
  • 最小化:最小化浏览器窗口。

    driver.minimize_window()
    
  • 关闭:关闭浏览器窗口。

    driver.close()
    
  • 退出:优雅地关闭浏览器窗口。

    driver.quit()
    
  • Refresh : 刷新 url。

    driver.refresh()
    
  • 前进:前进。

    driver.forward()
    
  • Back : 向后移动。

    driver.back()
    
  • 粗略获取:调用url

    driver.get('http://google.com/')
    

【讨论】:

    【解决方案2】:

    有一些内置的函数:

    driver.forward()
    driver.back()
    

    https://selenium-python.readthedocs.io/navigating.html#navigation-history-and-location

    selenium 似乎不能与书签交互,但让我再检查一下。

    【讨论】:

    • 感谢您的回复。但我的要求是点击左上角的浏览器按钮“”。
    • 我认为@luksch 是正确的,这将成为一个操作系统程序,因为它超出了 Selenium 的功能。
    【解决方案3】:

    这不能用 selenium webdriver 完成,我认为也不能用独立的 selenium 服务器。 Selenium 只允许与 DOM 交互。

    实现您想要做的事情的唯一方法是使用实​​际直接在您使用的操作系统中运行的自动化工具。 Java可以用来编写这样的程序。

    但是,我建议不要走这条路。相反,请尝试说服负责您的要求的人重新考虑并允许使用其他方式来实现向后和向前的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-04
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多