【发布时间】:2018-04-12 15:00:28
【问题描述】:
我正在进行一些自动化工作,根据我的要求,我需要点击 Chrome 物理按钮,如左导航、右导航、书签、菜单等。我可以使用快捷方式,但我的要求是点击浏览器纽扣。任何想法都会有所帮助。提前致谢。
【问题讨论】:
-
请考虑接受您的问题的答案以结束此问题。
标签: java python google-chrome selenium selenium-chromedriver
我正在进行一些自动化工作,根据我的要求,我需要点击 Chrome 物理按钮,如左导航、右导航、书签、菜单等。我可以使用快捷方式,但我的要求是点击浏览器纽扣。任何想法都会有所帮助。提前致谢。
【问题讨论】:
标签: java python google-chrome selenium selenium-chromedriver
根据您的问题,点击 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/')
【讨论】:
有一些内置的函数:
driver.forward()
driver.back()
https://selenium-python.readthedocs.io/navigating.html#navigation-history-and-location
selenium 似乎不能与书签交互,但让我再检查一下。
【讨论】:
这不能用 selenium webdriver 完成,我认为也不能用独立的 selenium 服务器。 Selenium 只允许与 DOM 交互。
实现您想要做的事情的唯一方法是使用实际直接在您使用的操作系统中运行的自动化工具。 Java可以用来编写这样的程序。
但是,我建议不要走这条路。相反,请尝试说服负责您的要求的人重新考虑并允许使用其他方式来实现向后和向前的操作。
【讨论】: