如何在依赖于 Splinter 浏览器对象的脚本中访问 Selenium 驱动程序对象?
How to access a Selenium driver object in a script that relies on a Splinter browser object?
我正在编写我的第一个 Python 脚本来浏览网站,到目前为止,我一直完全依赖 Splinter 浏览器对象来处理 .find_by_xpath() 和 .click() 等内容。我现在 运行 执行一些任务,其中我在网上找到的示例和本网站都引用了 Selenium 驱动程序对象(例如,引用 WebDriverWait 的示例,或 "driver.execute_script("arguments[0] 之类的行)。单击();”,元素”)。
我的问题是:因为我依赖于 Splinter,所以实际上我并没有在我的代码中的任何地方显式定义驱动程序对象(即我只写了 browser = Browser(options here),剩下的由 Splinter 完成).当我创建我的浏览器对象时,是否在后台创建了一个驱动程序对象?如果是这样,我该如何访问它?如果不是,我是否需要仅使用 Selenium 重写我的代码,或者是否有 link 我现有的带有 Selenium 驱动程序对象的浏览器对象的解决方法?
更一般地说,你能帮我理解 Splinter 浏览器对象和 Selenium 驱动程序对象之间的关系吗?
Splinter 为 selenium 提供了一个抽象层。
中所见
当 splinter 创建浏览器对象时,正在创建 Selenium Webdriver 对象。
此浏览器对象是 selenium webdriver 对象的顶层。
我认为您可以像这样访问驱动程序:
from splinter import Browser
browser = Browser()
driver = browser.driver
我正在编写我的第一个 Python 脚本来浏览网站,到目前为止,我一直完全依赖 Splinter 浏览器对象来处理 .find_by_xpath() 和 .click() 等内容。我现在 运行 执行一些任务,其中我在网上找到的示例和本网站都引用了 Selenium 驱动程序对象(例如,引用 WebDriverWait 的示例,或 "driver.execute_script("arguments[0] 之类的行)。单击();”,元素”)。
我的问题是:因为我依赖于 Splinter,所以实际上我并没有在我的代码中的任何地方显式定义驱动程序对象(即我只写了 browser = Browser(options here),剩下的由 Splinter 完成).当我创建我的浏览器对象时,是否在后台创建了一个驱动程序对象?如果是这样,我该如何访问它?如果不是,我是否需要仅使用 Selenium 重写我的代码,或者是否有 link 我现有的带有 Selenium 驱动程序对象的浏览器对象的解决方法?
更一般地说,你能帮我理解 Splinter 浏览器对象和 Selenium 驱动程序对象之间的关系吗?
Splinter 为 selenium 提供了一个抽象层。
中所见当 splinter 创建浏览器对象时,正在创建 Selenium Webdriver 对象。
此浏览器对象是 selenium webdriver 对象的顶层。
我认为您可以像这样访问驱动程序:
from splinter import Browser
browser = Browser()
driver = browser.driver