-1

我有一个使用jquery.treeview.js多个嵌套分支的站点。每个分支都有一个 javascript 按钮:

<a href="javascript:void(0);" id="show_link" class="show_links" onclick="$(this).parent().children('div#data_316')
.load('keyword_browse_ajax.php', {keyword_id:316,lp:'et',mode:'ajax'}); $(this).parent().children('div#data_316').toggle(); $(this)
.parent().children('a#hide_link').toggle(); $(this).toggle();" style="display: none; "><img src="http://pic.gif" alt="show"></a>

还有一个“空”的 div:

<div id="data_316" style="background: whitesmoke; display: none; margin: 0px 0px 10px 0px; padding: 5px; line-height:150%;"></div>

在“显示链接”点击中填充:

<div id="data_316" style="background-color: rgb(245, 245, 245); margin: 0px 0px 10px; padding: 5px; line-height: 150%;
background-position: initial initial; background-repeat: initial initial; ">
Name O.;
 <a href="link.php" target="_blank">text1</a>; 1993, nr 1, p 1-20<br>
Name T.;
 <a href="link.php" target="_blank">text2</a>; 1994, nr 1, p 1-20<br>
</div>

Selenium 有没有办法解开树,这样我就可以抓取新填充的 div 内容?

4

2 回答 2

2

由于我是 selenium 的新手,因此需要进行一些测试才能开始,但这很简单:

from selenium import webdriver

browser = webdriver.Chrome() # Get local session of Chrome
browser.get("http://www.somepage.com") # Load page

elem = browser.find_element_by_id("show_links") # Find javascript button
elem.click() # Click on the button that 'populates the div'
于 2012-09-21T15:51:13.127 回答
0

第1步:

使用给定的信息以防万一我们需要使用下面给出的特定 CSS 选择器,如下所示

显示链接的 CSS 选择器:

css=#show_link > img[src*='pic.gif']

然后使用下面给出的方法执行单击上面的css,如下所示

driver.find_element_by_css_selector("#show_link > img[src*='pic.gif']").click()

于 2014-04-04T09:30:25.443 回答