我的代码执行并进入我要抓取的页面。一旦到了那里,我就很难打印任何元素,在这种情况下,就是名称。
该页面通过代码登录,如果您对此表示怀疑,则可以用任何电子邮件/伪造帐户替换“ ExampleUsername”。
这是代码:
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
productlinks=[]
test1=[]
options = Options()
driver = webdriver.Chrome(ChromeDriverManager().install())
url = "https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww%2Elinkedin%2Ecom%2Fsearch%2Fresults%2Fpeople%2F%3FcurrentCompany%3D%255B%25221252860%2522%255D%26geoUrn%3D%255B%2522103644278%2522%255D%26keywords%3Dsales%26origin%3DFACETED_SEARCH%26page%3D2&fromSignIn=true&trk=cold_join_sign_in"
driver.get(url)
time.sleep(2)
username = driver.find_element_by_id('username')
username.send_keys('[email protected]')
password = driver.find_element_by_id('password')
password.send_keys('ExamplePassword')
password.submit()
element1 = driver.find_elements_by_class_name("name actor-name")
title=[t.text for t in element1]
print(title)
find_elements_by_class_name()
不接受multiple class name
。相反,您可以使用css selector
。
为了避免 synchronization
问题,请引发WebDriverWait
()并等待visibility_of_all_elements_located
()及其后css selector
。
element1 =WebDriverWait(driver,10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR,".name.actor-name")))
title=[t.text for t in element1]
print(title)
您需要在库下面导入。
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句