硒为什么不单击python中的按钮?

时间:2018-10-02 00:41:56

标签: python selenium

我正在使用xpath选择器作为按钮本身,当我尝试单击时,硒给我一个错误selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="ember1355"]/button"}。我正在尝试使用硒与linkedin上的人联系。当我搜索特定术语时,我想提取所有显示“连接”的配置文件,然后单击每个按钮。 html是

<div class="search-result__actions">
        <div id="ember3093" class="ember-view">    
            <button aria-label="Connect with Persons name" class="search-result__actions--primary button-secondary-medium m5" data-control-name="srp_profile_actions" data-ember-action="" data-ember-action-3096="3096">Connect</button>   
        <div id="ember3099" class="ember-view"><div id="ember3100" class="ember-view"><!----></div></div>
        </div>
        </div>

我的代码是:

if each.find('div', class_='search-result__actions').find('div').text.strip() == "Connect":
    id = each.find('div', class_='search-result__actions').find('div')['id']
    id = '//*[@id="'+id+'"]'
    print(id)
    #this is where the code isn't working
    driver.find_element_by_xpath('//*[@id="ember1355"]/button').click()

1 个答案:

答案 0 :(得分:1)

尝试避免使用 Xpath

尝试使用 css_selector

# Finds the right css selector
button = driver.find_element_by_css_selector('.search-result__actions--primary')
# Clicks the button
driver.execute_script("arguments[0].click();", button)