我想从网站打印所有href(链接).所有这些href都存储在'a'标签中,这些标签存储在'li'标签中.现在,我知道如何选择所有的李.我需要一种方法来选择li中的所有a来获得'href'属性.试过以下但是没有真正奏效.
li = driver.find_elements_by_tag_name('li')
for link in li:
a_childrens = link.find_element_by_tag_name('a')
for a in a_children
(print a.get_attribute('href'))
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我推荐使用css_selector而不是tag_name
aTagsInLi = driver.find_elements_by_css_selector('li a')
for a in aTagsInLi:
(print a.get_attribute('href'))
Run Code Online (Sandbox Code Playgroud)
你有正确的想法,但你的部分问题是,这a_childrens = link.find_element_by_tag_name('a')会让你得到你正在寻找的东西,但你基本上扔掉了所有它们,因为你让它们进入循环,但不要对它们做任何事情你在循环中。所以你只剩下最后一次迭代的变量。
如果正确实施,您的解决方案可能看起来像这样
list_items = driver.find_elements_by_tag_name("li")
for li in list_items:
anchor_tag = li.find_element_by_tag_name("a")
print(anchor_tag.get_attribute('href'))
Run Code Online (Sandbox Code Playgroud)
也就是说,了解 HTML 布局如您所描述的那样,如下所示:
<li><a href="foo">Hello</a></li>
<li><a href="bar">World!</a></li>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26828 次 |
| 最近记录: |