我在使用硒导航网站时遇到问题。这是我的代码:
microsoftTeams.authentication.getAuthToken(authTokenRequest);
但是,我得到了例外:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://webtrader.binary.com/v2.2.8/main.html#')
resources = driver.find_element_by_id('ui-id-1')
resources.click()
我不明白我哪里出了错。我正在尝试从标有“资源”的下拉菜单中访问“历史数据”。有人可以帮我访问它。也许我的资源ID错了。您也可以检查一下。
答案 0 :(得分:1)
您要单击以打开下拉菜单的元素是元素resources
的上一个兄弟
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.select import By
from selenium.webdriver.support.ui import WebDriverWait
wait = WebDriverWait(driver, 10)
driver.find_element_by_class_name('resources').click()
historical_data = wait.until(ec.visibility_of_element_located((By.ID, 'ui-id-4')))
答案 1 :(得分:0)
这里发生了很多事情。首先,您的代码缺少等待时间。没有它,将始终失败,因为页面是动态加载的。了解有关Waits的信息。
第二,您在resources = driver.find_element_by_id('ui-id-1')
的下拉菜单中找到该元素,然后尝试单击它。但是没有打开下拉菜单。您应该先单击它,然后等待该选项出现,然后再单击“历史数据”。