我有一个this quora网页作为示例
它确实包含4个“查看支持者”按钮 使用此代码,我希望获得全部4个按钮,以便以后依次单击它们。
upvoter_list = wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, 'AnswerVoterListModalLink')))
print(len(upvoter_list))
给我4,这是正确的
当我打印upvoter_list
print(upvoter_list[0].text)
结果是我获得了“观看支持者” 但是当我打印剩余的时,我得到的结果是空的,
print(upvoter_list[1].text)
出什么问题了?
答案 0 :(得分:1)
使用此(更新的)
from selenium import webdriver
from time import sleep
from bs4 import BeautifulSoup
obj = webdriver.Chrome('path to driver')
list_of_upvoters = []
obj.get('https://www.quora.com/Have-you-ever-countined-to-pursue-someone-who-wasnt-interested-in-you')
sleep(5)
obj.execute_script("window.scrollTo(0, document.body.scrollHeight);")
sleep(5)
obj.execute_script("window.scrollTo(0,1);")
sleep(5)
for p in obj.find_elements_by_class_name('AnswerVoterListModalLink'):
sleep(5)
p.click()
sleep(10)
for div in obj.find_elements_by_class_name('author_info'):
list_of_upvoters.append(div.find_element_by_class_name('user').text)
print(list_of_upvoters)
list_of_upvoters = []
sleep(10)
obj.find_element_by_class_name('modal_close').click()
sleep(10)
答案 1 :(得分:0)
尝试使用get_attribute("textContent")
而不是text
。