我试图在一个跨度内废弃一个人的名字。这个范围在一个类中。
关注HTML:
<div>
<a class="_32mo" href="https://www.facebook.com/goutham.pullela?ref=br_rs">
<span>Goutham Pullela</span>
</a>
</div>
我正在尝试使用find_elements_by_class_name
然后得到attribute
,但span
不是attribute
。我没有这个span
的身份证明。
contacts = browser.find_elements_by_class_name('_32mo')
for contact in contacts:
name = str(contact.get_attribute('span'))
print(name)
您可以简单地使用CSS选择器,然后打印text
元素的span
属性:
contacts = browser.find_elements_by_css_selector('._32mo span')
for contact in contacts:
print(contact.text)
# First we login into Facebook using:
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('https://www.facebook.com/')
driver.implicitly_wait(10)
email = driver.find_element_by_id("email")
email.send_keys("[email protected]")
passwd = driver.find_element_by_id("pass")
passwd.send_keys("MyP@$$w0rd");
passwd.send_keys(Keys.ENTER)
# Then We can search and retrieve the name list:
driver.get('https://www.facebook.com/search/283544874786/likers?ref=about')
x = driver.find_elements_by_xpath(".//a[contains(@class, '_32mo')]")
for y in x:
print(y.text)
Goutham Pullela
Avvaru Srinivasa Rao
Sanjay Bhushan
Ayurveda
Rachit Raj Ias
Anindita Sarkar (Rimi)
Sheela Arora
Padmapriya Rajesh
Manavi Singh
Sanaya Joshi
Kritika Singh
Nikhita Singh
Revathi
Sejal Budholiya
Devi Priya
Rashi Bhatia
更简单的方法是检查元素,然后在控制台左上角,使用箭头标记并单击Goutham Pullela,然后您将在控制台上看到它突出显示。复制该xpath并使用name = browser.find_elements_by_xpath('[paste xpath']).text
print(name)
正如评论中所提到的:Xpath也非常灵活:
contacts = browser.find_elements_by_xpath("//a[@class='_32mo')]/span")
for contact in contacts:
name=contact.text
print(name)