我正在使用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()
答案 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)