Python BS4.element.tag如何对此执行click()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python BS4.element.tag如何对此执行click()相关的知识,希望对你有一定的参考价值。

我有一个bs4.element module的ResultSet对象,它是一个派生自此的集合:

def unexpanded_league_tables(flash_page):
    unexpanded_elements = flash_page.find_all("span",{"class":"expand-league"})
    return unexpanded_elements

通过以下方式调用:

find_unexpanded = unexpanded_league_tables(parsed_page)

其中parsed_pa​​ge是一个解析的BeautifulSoup:

def parse_page(driver):
    return BeautifulSoup(driver.page_source,'lxml')

因此解决类型:

type(find_unexpanded[0])
Out[205]: bs4.element.Tag

我正在尝试find_unexplained [0] .click()但这是返回'NoneType',我认为没有方法.click()用于Tag。我用什么来点击元素?

答案

我认为这不是我能用该元素类型做的事情是正确的。我在返回的元素(id)中找到了一个唯一的属性,并在其上执行了driver.find_element_by_id:

        unexpanded_span_element = driver.find_element_by_id(tables_to_expand[len(tables_to_expand)-1]['id'])
        unexpanded_span_element.click()

以上是关于Python BS4.element.tag如何对此执行click()的主要内容,如果未能解决你的问题,请参考以下文章

isinstance

Python爬虫编程思想(56):Beautiful Soup方法选择器之find方法

name方法可以获取及修改Tag对象名称

如何将 BeautifulSoup 标签转换为 JSON?

Python爬虫从html里爬取中国大学排名

python 学习之FAQ:find 与 find_all 使用