我点击了链接" 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()
答案 0 :(得分:1)
您的问题是您正在使用send_keys,它执行操作而不等待
search.send_keys(Keys.RETURN) # hit return after you enter search text
因此,如果您使用click
,那么即使未加载结果,它也会在当前页面上进行。所以你需要为返回键添加一些延迟来改变结果,加载结果后,你可以点击
所以你需要的是一个简单的sleep
延迟