当网站有两个根html元素时,如何使用xpath/css选择器



我正在使用Python、selenium-webdriver、IE、xpath和css从互联网上获取一些报告。问题是该网站有两个html元素:

<html></html>
<html lang="en"></html>

我知道我感兴趣的元素存在于第一个html块中。然而,网络驱动程序不";参见";第一个html元素。我可以访问这个第二html lang="lang"的元素;en";通过css或xpath都没有问题,但是对第一个html元素的每个findelements_by_path/findelements_by-cs_selector查询都返回空列表。

如何引用第一个html元素?

我试过了:

driver.find_elements_by_css_selector('html:nth-of-type(1)')

我试过这个:

driver.find_elements_by_xpath('html[1]')

我也试过这个:

driver.find_elements_by_css_selector('html:not([lang="en"])')

但这两个都不起作用,都返回了一个空列表。

如果你正在寻找第一个,你必须记住,它们是基于0-索引的:

driver.find_elements_by_xpath('html[0]')

但问题可能是,html被认为是根元素。由于有两个根元素,它可能不起作用。

最新更新