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

时间:2017-08-20 13:16:42

标签: python-2.7 selenium

我点击了链接" Images"在新页面上(在Google上搜索' 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()

1 个答案:

答案 0 :(得分:1)

您的问题是您正在使用send_keys,它执行操作而不等待

search.send_keys(Keys.RETURN) # hit return after you enter search text

因此,如果您使用click,那么即使未加载结果,它也会在当前页面上进行。所以你需要为返回键添加一些延迟来改变结果,加载结果后,你可以点击

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