selenium - webcrawler- find_elements_by_css_selector(webelement).text 不起作用,但需要一个迭代器。为什么?
selenium - webcrawler- find_elements_by_css_selector(webelement).text does not work but need an iterator. why?
正如问题所暗示的,为什么下面的错误代码不起作用,而正确的代码却可以?
他们本质上不是一回事吗?我环顾四周,看到 post 解释说 python 本机列表有效,但在这种情况下 selenium 创建的对象列表将无效
但我并没有真正理解它的本质,任何人都可以请新手程序员用通俗易懂的语言进一步详细说明
错误代码:
mainText = driver.find_elements_by_css_selector(
'div.post_content.clearfix > p').text
print(mainContentDetail)
列表没有属性文本
正确代码:
mainText = driver.find_elements_by_css_selector(
'div.post_content.clearfix > p')
for mainContentDetail in mainText:
print(mainContentDetail.text)
当您在下面使用时,您会尝试使用 css 选择器匹配 div.post_content.clearfix > p.
的元素列表
driver.find_elements_by_css_selector(
'div.post_content.clearfix > p')
当你在下面写的时候,你试图从多个元素中获取文本。但是 text 方法可以获取与单个元素关联的文本。当您尝试使用文本方法从多个元素中获取文本时,它会抛出错误。
driver.find_elements_by_css_selector(
'div.post_content.clearfix > p').text
在下面的代码中,您将列表元素添加到一个名为 mainText 的列表中,您正在遍历 mainText 列表中的每个元素,然后使用文本方法从每个元素中获取文本。因此有效。
mainText = driver.find_elements_by_css_selector(
'div.post_content.clearfix > p')
for mainContentDetail in mainText:
print(mainContentDetail.text)
正如问题所暗示的,为什么下面的错误代码不起作用,而正确的代码却可以?
他们本质上不是一回事吗?我环顾四周,看到 post 解释说 python 本机列表有效,但在这种情况下 selenium 创建的对象列表将无效
但我并没有真正理解它的本质,任何人都可以请新手程序员用通俗易懂的语言进一步详细说明
错误代码:
mainText = driver.find_elements_by_css_selector(
'div.post_content.clearfix > p').text
print(mainContentDetail)
列表没有属性文本
正确代码:
mainText = driver.find_elements_by_css_selector(
'div.post_content.clearfix > p')
for mainContentDetail in mainText:
print(mainContentDetail.text)
当您在下面使用时,您会尝试使用 css 选择器匹配 div.post_content.clearfix > p.
的元素列表driver.find_elements_by_css_selector(
'div.post_content.clearfix > p')
当你在下面写的时候,你试图从多个元素中获取文本。但是 text 方法可以获取与单个元素关联的文本。当您尝试使用文本方法从多个元素中获取文本时,它会抛出错误。
driver.find_elements_by_css_selector(
'div.post_content.clearfix > p').text
在下面的代码中,您将列表元素添加到一个名为 mainText 的列表中,您正在遍历 mainText 列表中的每个元素,然后使用文本方法从每个元素中获取文本。因此有效。
mainText = driver.find_elements_by_css_selector(
'div.post_content.clearfix > p')
for mainContentDetail in mainText:
print(mainContentDetail.text)