Python Selenium无法定位元素

时间:2017-06-24 07:50:42

标签: python selenium xpath

我正在尝试制作一个能够自动登录我学校网站的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,但返回了相同的错误...

1 个答案:

答案 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'}
                            }
                          }]

如果这回答你的问题,请告诉我。