2015-08-16 19 views
1

我想要去http://ted.com/talks,点击“Topics”下拉菜单中的“See All Topics”,然后点击随机的字母标题,如“C”或“DE” 。但是,我不知道如何在该特定字母标题的模式弹出窗口中找到该元素。用python进行web浏览selenium:找到模态元素

这是信标题元素的样子,当我点击“检查元素”:

<li class="topic-select__range"> 
    <a class = "topic-select__range__link" href="#" data-index="0">A-B</a> 
</li> 
<li class="topic-select__range"> 
    <a class = "topic-select__range__link" href="#" data-index="1">C</a> 
</li> 
<li class="topic-select__range"> 
    <a class = "topic-select__range__link" href="#" data-index="2">D-E</a> 
</li> 

... etc. 

我的程序可以得到所有以查看所有主题只是罚款的方式,但变得无法定位元素的错误,当我尝试点击字母标题。这是我的代码片段到目前为止:

# Each header is assigned a number. A header is picked at random, and clicked. 
# [ERROR: Cannot locate element.] 
random_letter = random.randint(0, 8) 
topics_window = browser.find_element_by_class_name("select-modal__content topic-select") # error here, when program tries to find modal popup or tags within it 
letter_headers = topics_window.find_element_by_class_name("topic-select__range__link") 
letter_headers[random_letter].click() 

回答

0

我找不到使用硒访问模态JavaScript内容的方法。我已经找到了一种使用Web API的方法。