我正在尝试制作一个能够自动登录我学校网站的Python程序。但是,我收到了一个错误:
selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“xpath”,“selector”:“// * [@ id =”loginidtext“]”} < / p>
抛出错误的相关代码部分是:
BCnumber = driver.find_element_by_xpath('//*[@id="loginidtext"]')
BCnumber.send_keys('loginid')
该网站是: https://matrix.tjc.edu.sg/?topleft=toprow.php&bottomright=bottomrow.php
我尝试过使用:
driver.switch_to
切换到相关的div,但返回了相同的错误...
答案 0 :(得分:1)
以下是您的问题的答案:
由于定位器topwindow
位于from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')
driver = webdriver.Firefox(firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get('https://matrix.tjc.edu.sg/?topleft=toprow.php&bottomright=bottomrow.php')
driver.maximize_window()
driver.implicitly_wait(20)
driver.switch_to.frame("topwindow")
BCnumber = driver.find_element_by_xpath('//*[@id="loginidtext"]')
BCnumber.send_keys('loginid')
iframe范围内,我们必须先切换到iframe,如下所示:
set list1 [list a b 1 2 c]
set list_quoted [lmap a $list1 {
if {[string is integer -strict $a]} {
set a
} else {
subst {'$a'}
}
}]
如果这回答你的问题,请告诉我。