|
|

楼主 |
发表于 2018-10-12 21:04:47
|
显示全部楼层
【已解决】用selenium打开窗口A,在A窗口上继续用click打开窗口B,搜索B窗口里内容。
如果此时定位元素会发现仍是在A窗口上操作,若想在B窗口上操作,需要切换窗口:
(1)用handles = browser.window_handles来获取浏览器此时打开的所有窗口的handle
(2)用browser.switch_to.window(handles[-1])切换窗口至最新打开的窗口
【另外】注意browser.close()函数是用来关闭窗口的,而browser.quit()函数是关闭浏览器的
【代码】
from pyquery import PyQuery as pq
from selenium import webdriver
import time
city = input('请输入要查询的城市:')
browser = webdriver.Chrome()
browser.get('http://www.weather.com.cn/')
browser.find_element_by_id('txtZip').send_keys(city)
browser.find_element_by_class_name('input-btn').click()
time.sleep(2)
handles = browser.window_handles
browser.switch_to.window(handles[-1])
tem = browser.find_element_by_class_name('tem').text
print(city+'现在是:'+tem+'摄氏度')
browser.quit() |
|