2 回答
TA贡献1856条经验 获得超5个赞
此行代码的问题: element_text = element.find_elements_by_xpath(".//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']").text查找元素的ist 重新调整列表,并且列表没有 .text 属性。尝试遍历返回的列表:
elements = driver.find_elements_by_xpath("//div[@class='WGGO WKFO']//ul//li[@class='WO0F WHHO WI5 WF2F']//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']")
#as a list comprehention
element_text= [element.text for element in elements]
#or as a for loop
element_text=[]
for element in elements:
element_text.append(element.text)
TA贡献1883条经验 获得超3个赞
element_list已经包含您要打印的所有元素,即element_text. 你不能WebElement用来定位自己,它没有失败的原因NoSuchElementException是当xpath你从另一个元素中定位元素时,你需要指定当前上下文.
find_element_by_xpath('.//div')
迭代element_list
for element in element_list:
print(element.text)
或者,如果您真的想拆分它,因为您在父列表上有更多可以使用的操作(注意她缩短了element_list xpath)
element_list = driver.find_elements_by_xpath("//div[@class='WGGO WKFO']//ul//li[@class='WO0F WHHO WI5 WF2F']")
for element in element_list:
element_text = element.find_element_by_xpath(".//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']").text
print(element_text)
添加回答
举报