无法从跳出 window 中找到元素。如何切换到新的跳出window?
Cannot find element from a jump out window. How can I switch to a new jump out window?
我正在尝试使用 Python2.7、Selenium-webdriver 和 Sikuli 来自动化我们的系统。我在登录时遇到问题。每次打开我们的系统,第一页都是空白页,会自动跳转到另一页;新页面是主登录页面,因此 Python 总是尝试从第一页中查找元素。第一页有时显示:
your session has timeout
我为会话超时设置了一个非常大的数字,但它不起作用。
这是我的代码:
import requests
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get('http://172.16.1.186:8080/C******E/servlet/LOGON')
# time.sleep(15)
bankid = driver.find_element_by_id("idBANK")
bankid.send_keys(01)
empid = driver.find_element_by_id("idEMPLOYEE")
empid.send_keys(200010)
pwdid = driver.fin`enter code here`d_element_by_id("idPASSWORD")
pwdid.send_keys("C******e1")
elem = driver.find_element_by_id("maint")
elem.send_keys(Keys.RETURN)
首先,我在您的示例中看不到任何 Sikuli 用法。如果您使用的是 Sikuli,那么其他页面的启动方式并不重要,因为您当时正在与屏幕上可见的任何内容进行交互。
在 Selenium 中,如果您有多个 windows 您必须将您的驱动程序切换到正确的驱动程序。获取可用 windows 列表的快速方法是这样的:
for handle in driver.window_handles:
driver.switch_to_window(handle);
print "Switched to handle:", handle
element = browser.find_element_by_tag_name("title")
print element.get_attribute("value")
我正在尝试使用 Python2.7、Selenium-webdriver 和 Sikuli 来自动化我们的系统。我在登录时遇到问题。每次打开我们的系统,第一页都是空白页,会自动跳转到另一页;新页面是主登录页面,因此 Python 总是尝试从第一页中查找元素。第一页有时显示:
your session has timeout
我为会话超时设置了一个非常大的数字,但它不起作用。 这是我的代码:
import requests
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get('http://172.16.1.186:8080/C******E/servlet/LOGON')
# time.sleep(15)
bankid = driver.find_element_by_id("idBANK")
bankid.send_keys(01)
empid = driver.find_element_by_id("idEMPLOYEE")
empid.send_keys(200010)
pwdid = driver.fin`enter code here`d_element_by_id("idPASSWORD")
pwdid.send_keys("C******e1")
elem = driver.find_element_by_id("maint")
elem.send_keys(Keys.RETURN)
首先,我在您的示例中看不到任何 Sikuli 用法。如果您使用的是 Sikuli,那么其他页面的启动方式并不重要,因为您当时正在与屏幕上可见的任何内容进行交互。
在 Selenium 中,如果您有多个 windows 您必须将您的驱动程序切换到正确的驱动程序。获取可用 windows 列表的快速方法是这样的:
for handle in driver.window_handles:
driver.switch_to_window(handle);
print "Switched to handle:", handle
element = browser.find_element_by_tag_name("title")
print element.get_attribute("value")