python selenium定位ajax弹出窗口元素

时间:2016-12-07 12:26:44

标签: python ajax python-2.7 selenium css-selectors

很难尝试在弹出窗口中找到一个元素。切换框架和窗口无济于事。原始源代码中找不到元素。弹出后len(driver.window_handles)也= 1。这是我在弹出窗口处于活动状态时尝试的内容。

Container.Instance.Get<IClientCodeValidator>(clientName.ToUpper())

这是在Firebug中显示的html

windows = driver.window_handles
num_of_windows = len(windows)
print (num_of_windows)
driver.switch_to_window(driver.window_handles[1])
wait.until(lambda driver: driver.find_element_by_css_selector('.suv.suv-deca.suv-open'))
driver.find_element_by_css_selector('.suv.suv-deca.suv-open').click()

1 个答案:

答案 0 :(得分:0)

如果len(driver.window_handles)的结果是1,正如您所提到的那样driver.switch_to_window(driver.window_handles[1]),显然应该引发http.client.CannotSendRequest例外,因为只有一个窗口可用。试试吧

wait.until(lambda driver: driver.find_element_by_css_selector('.suv.suv-deca.suv-open'))
driver.find_element_by_css_selector('.suv.suv-deca.suv-open').click()

无需切换到窗口,警报等