设置向上
我尝试使用Python + Selenium登录website。
加载网站的代码是,
browser = webdriver.Firefox(
executable_path='/mypath/to/geckodriver')
url = 'https://secure6.e-boekhouden.nl/bh/'
browser.get(url)
问题
Selenium找不到包含帐户和密码字段的元素。
例如,对于字段' Gebruikersnaam',
browser.find_element_by_id('txtEmail')
browser.find_element_by_xpath('//*[@name="txtEmail"]')
browser.find_element_by_class_name('INPUTBOX')
全部给NoSuchElementException: Unable to locate element
。
更糟糕的是,Selenium无法在页面上找到body元素,
browser.find_element_by_xpath('/html/body')
给出NoSuchElementException: Unable to locate element: /html/body
。
我猜测页面上的内容要么阻止Selenium(可能是网址中的'secure6'
),要么是用Selenium无法处理的语言/格式编写的。
有什么建议吗?
答案 0 :(得分:1)
所有元素都在框架内。所以,它抛出No Such Element异常。请尝试在所有操作之前切换到框架。
browser = webdriver.Firefox(
executable_path='/mypath/to/geckodriver')
url = 'https://secure6.e-boekhouden.nl/bh/'
browser.get(url)
browser.switch_to.frame(browser.find_element_by_id("mainframe"))
browser.find_element_by_id('txtEmail')
browser.find_element_by_xpath('//*[@name="txtEmail"]')
browser.find_element_by_class_name('INPUTBOX')