带有Python Windows句柄列表索引的Selenium web驱动程序超出范围

2024-10-03 23:30:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用PYTHON\Selenium\webdriver在页面之间导航。 以下代码 当我希望驱动程序在浏览器中打开新窗口时,我会得到“列表索引超出范围”

情景 打开页面,点击按钮,写点东西,点击回车键,它会引导你进入我想要处理的新页面。。在

代码:

# Selenium WebDriver
# The IE Webdriver located in the Automation LMS Solution
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import sys
from Environment import *

driver=webdriver.Ie() # use Internet explorer
driver.get("https://www.google.co.il/?gfe_rd=cr&ei=2dGpVoj5AayI8Qf_yoigDg")
Windows_Before=driver.window_handles[0] # define the current window
TextFieldPress=driver.find_element_by_name("q") # Find element by name for instance
TextFieldPress.send_keys("O") # write from keyboard
TextFieldPress.send_keys(Keys.ENTER) # press on the keyboard etner\ctrl\alt etc
Windows_After=driver.window_handles[1]# this is define the window after the Enter press
driver.switch_to_window(Windows_After) # the driver set to the new window 
driver.close

Tags: the代码fromimportwindowsdriverselenium页面
1条回答
网友
1楼 · 发布于 2024-10-03 23:30:30

我可以搜索关键字,并打印第一个搜索结果的文本成功。在

import unittest
from selenium import webdriver
import datetime
import os
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
from random import randint
import time
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from sshtunnel import SSHTunnelForwarder
import MySQLdb
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import autoit

class SprintTests(unittest.TestCase):

    def setUp(self):       
        self.driver = webdriver.Firefox()
        self.driver.get("https://www.google.co.il/?gfe_rd=cr&ei=2dGpVoj5AayI8Qf_yoigDg")
        self.driver.implicitly_wait(30)
        self.driver.maximize_window()

    def test_input(self):
        a = self.driver.find_element_by_name("q")
        a.send_keys('O')
        autoit.send("{ENTER}")
        a = self.driver.find_element_by_xpath('//*[@id="rso"]/div[1]/div[1]/div/h3/a')
        b=a.text
        print b

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main(verbosity=2)

相关问题 更多 >