Python 2.7 在新页面上使用Selenium打开链接

Python 2.7 在新页面上使用Selenium打开链接,python-2.7,selenium,Python 2.7,Selenium,我在谷歌上点击了一个新页面上的链接“图片”(在搜索了“bugs bunny”之后)。它不是检索搜索的图像,而是打开旧页面上的链接“图像” 我的代码: import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support

我在谷歌上点击了一个新页面上的链接“图片”(在搜索了“bugs bunny”之后)。它不是检索搜索的图像,而是打开旧页面上的链接“图像”

我的代码:

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys

browser = webdriver.Firefox()
browser.get('http://www.google.com')

search = browser.find_element_by_name('q')
search.send_keys("bugs bunny")
search.send_keys(Keys.RETURN) # hit return after you enter search text
browser.current_window_handle
print(browser.current_url)
browser.find_element_by_link_text("Images").click()

您的问题是您正在使用send_键,它执行操作并且不等待

search.send_keys(Keys.RETURN) # hit return after you enter search text
因此,在此之后,如果使用
单击
,即使结果未加载,它也几乎在当前页面上执行此操作。因此,您需要为return键添加一些延迟来更改结果,一旦加载结果,您就可以执行单击操作


所以你需要的是一个简单的
睡眠
延迟

对我来说这很好。试用FirefoxIt的最新版本,不要打开带有搜索结果的新页面!!即使在升级到最新的Firefox后,在返回后也要进行一些睡眠,然后尝试运行!