您好,我正在使用 selenium 单击链接,并且通常使用在线 Web 应用程序。
当我单击打开新选项卡并在该新打开的选项卡中执行操作的特定链接时遇到问题。我有这个代码:
friend_link = browser.find_element_by_tag_name('a')
friend_link.click() # this is where new tab is opened
Run Code Online (Sandbox Code Playgroud)
之后网络驱动程序(从我的眼睛)打开到新标签,而我不必打电话
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
Run Code Online (Sandbox Code Playgroud)
所以一切都很好。新选项卡在 webdriver 上打开。当我尝试单击新打开的选项卡上的链接时,出现“无元素”异常,这意味着它找不到我要查找的元素。
两个问题:
1) webdriver 是否知道新打开的选项卡已打开并在该选项卡上执行操作?也许我必须告诉它。我试过
main_window = browser.current_window_handle
browser.switch_to_window(main_window)
Run Code Online (Sandbox Code Playgroud)
这应该重新聚焦新打开的标签,但没有运气。
2)有没有办法查看计算机是否知道它在新选项卡上?
我正在设置一个现有的 Laravel 项目,无法通过添加宅基地框。
指令是: vagrant box add laravel/homestead
它经历了 5-10 分钟的过程,然后在 box: Calculating and comparing box checksum...
我使用的是 Linux Mint 18.3,并已尝试使用最新的 virtualbox(6.0.14) 和多个版本的 vagrant 2.2.2、2.2.4 和 2.2.6(最新)进行这些说明。
对于 2.2.6 和其他版本,我遇到了不同的错误。对于 2.2.6 我得到
/opt/vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/lib/vagrant/util/file_checksum.rb:65:in 'load_digest': uninitialized constant FileChecksum::Errors (NameError)
对于其他版本,我收到一条红色警告,指出:
The specified checksum type is not supported by Vagrant: .
Vagrant supports the following checksum types:
md5, sha1, sha256
我对 Vagrant 不太熟悉,不知道如何解决这个问题。关于这个特定问题的信息也不多,因此感谢您提供任何帮助。