使用搜索栏在Linkedin中搜索查询?I';m使用Selenium(在python中)

使用搜索栏在Linkedin中搜索查询?I';m使用Selenium(在python中),python,selenium,web-scraping,Python,Selenium,Web Scraping,所以我尝试使用selenium在LinkedIn上搜索一个公司名称,但看起来搜索栏上有一堆元素重叠在一起。我尝试使用的每个id或类都会出现错误:“AttributeError”。有人能告诉我使用哪个id或类吗?我真的很感激 driver = webdriver.Chrome() driver.get('https://www.linkedin.com/login') username = 'xxxxxxx' password = 'xxxxxxx' nameidElem = driver

所以我尝试使用selenium在LinkedIn上搜索一个公司名称,但看起来搜索栏上有一堆元素重叠在一起。我尝试使用的每个id或类都会出现错误:“AttributeError”。有人能告诉我使用哪个id或类吗?我真的很感激

driver = webdriver.Chrome()
driver.get('https://www.linkedin.com/login')


username = 'xxxxxxx'
password = 'xxxxxxx'


nameidElem = driver.find_element_by_id('username')
nameidElem.send_keys(username)
pwdidElem = driver.find_element_by_id('password')
pwdidElem.send_keys(password)
continueElem = driver.find_element_by_class_name("btn__primary--large")
result = continueElem.submit()
time.sleep(5)


search = driver.find_element_by_id("nav-search-artdeco-typeahead").click()
search.send_keys('sports')
search.submit()

在搜索输入上尝试以下步骤

search = driver.find_elements_by_xpath("//input[@aria-label='Search']").click()
search.send_keys('sports')
search.submit()
  • 在与元素交互之前,请考虑使用以确保元素存在/可见/可单击。查看文章了解更多详细信息
  • 当您单击该元素时,它可能会更改其状态,因此您可能需要再次调用该函数
  • 您可能希望更改定位器以匹配以下元素:

    <input role="combobox" autocomplete="off" spellcheck="false" aria-autocomplete="list" aria-invalid="false" aria-expanded="false" aria-label="Search" placeholder="Search" type="text">
    

  • css选择器的可选选项->
    input[aria label='Search']
    nameidElem = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.ID, "username")))
    nameidElem.send_keys(username)
    pwdidElem = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.ID, "password")))
    pwdidElem.send_keys(password)
    continueElem = WebDriverWait(driver, 10).until(
        expected_conditions.presence_of_element_located((By.CLASS_NAME, "btn__primary--large")))
    result = continueElem.submit()
    
    search = WebDriverWait(driver, 10).until(
        expected_conditions.presence_of_element_located((By.XPATH, "//input[@placeholder='Search']"))).click()
    WebDriverWait(driver, 10).until(
        expected_conditions.element_to_be_clickable((By.XPATH, "//input[@placeholder='Search']"))).send_keys('sports')
    WebDriverWait(driver, 10).until(
        expected_conditions.element_to_be_clickable((By.XPATH, "//input[@placeholder='Search']"))).submit()