Python:无法找到具有ID或类名的元素,WebDriver无法找到ID或类名的

时间:2018-07-26 22:12:50

标签: python internet-explorer selenium-webdriver classname id

我正在使用Selenium和Python在Internet Explorer(必须是IE)中创建用于自动化最终用户工作流的脚本。使用find_element_by_idfind_element_by_class_name时,我收到一个NoSuchElementException错误。

您能帮我理解为什么我的脚本找不到元素“ servProvCode”的ID或名称吗?我已附上屏幕截图以提供更多详细信息。 谢谢!

针对第23行返回错误:

selenium.common.exceptions.NoSuchElementException: Message: Unable to find element with css selector == [id="submit"]

PYTHON脚本:

1 import time
2 from selenium import webdriver
3 from selenium.webdriver.common.by import By
4 from selenium.webdriver.common.keys import Keys
5 from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
6
7 #create capabilities
8 capabilities = DesiredCapabilities.INTERNETEXPLORER
9
10 #delete platform and version keys
11 capabilities.pop("platform", None)
12 capabilities.pop("version", None)
13
14 #start an instance of IE
15 driver = webdriver.Ie(executable_path="C:\\LocalDev\\IEDriverServer.exe", capabilities=capabilities)
16
17 #open Accela login page
18 driver.get("https://pwms-avdev.co.arapahoe.co.us/security/hostSignon.do?signOff=true")
19 time.sleep(2)
20
21 #enter Agency
22 agency = driver.find_element_by_id("servProvCode")
23 agency.send_keys('test', Keys.ENTER)
24 time.sleep(2)
25[enter image description here][1]
26 #enter Username

1 个答案:

答案 0 :(得分:0)

在找到元素之前切换到框架可以解决此问题。

driver.switch_to_frame(0)
agency = driver.find_element_by_id("servProvCode")

参考文献:

in selenium web driver how to choose the correct iframe