为什么find_by_css中的nth-child什么也没有返回?

时间:2017-09-29 07:09:00

标签: python css python-3.x selenium beautifulsoup

我正在尝试从此HTML代码中删除“href”链接:

enter image description here

我的代码是:

from selenium import webdriver
from splinter import Browser
from bs4 import BeautifulSoup
import requests as tt

ar=webdriver.Chrome('/Users/exepaul/Downloads/chromedriver/chromedriver')
url="https://www.python.org/about/"
browser=Browser("chrome")
browser.visit(url)

find_h=browser.find_by_css('div[class="medium-widget success-story-category last"]:nth-child(3) > ul:nth-child(1) > li:nth-child(1) > a')
for i in find_h:
    print(i["href"])

但它什么都没有回来

2 个答案:

答案 0 :(得分:0)

尝试使用以下内容,

div[class="medium-widget success-story-category last"]:nth-child(2)>ul:nth-child(n)>li:nth-child(1) > a

答案 1 :(得分:0)

hello:nth-child(3)没有选择hello类的第3个嵌套div,而是在有三个具有相同名称的“hello”类时选择第三个hello类。

这就是为什么我犯了错误,有两个同名的课程,所以我必须'div[class="medium-widget success-story-category last"]:nth-child(2)>p'它会选择<p>文字,当我这样做时:

find_h=browser.find_by_css('div[class="medium-widget success-story-category last"]:nth-child(2) > ul  > li:nth-child(2) > a'

它的工作完美。