Python 2.7 在新页面上使用Selenium打开链接
我在谷歌上点击了一个新页面上的链接“图片”(在搜索了“bugs bunny”之后)。它不是检索搜索的图像,而是打开旧页面上的链接“图像” 我的代码: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
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后,在返回后也要进行一些睡眠,然后尝试运行!