硒找不到元素-领英中的“连接”按钮

时间:2020-10-02 18:16:39

标签: python selenium

大家好,我正在开发一个用于在LinkedIn中添加连接的自动化机器人,最近我在搜索框中搜索并过滤了“仅限人员”后遇到了查找“连接”元素(按钮)的问题。

这是相关部分的检查:

<div id="ember374" class="ember-view">   
  <button id="ember378" class="artdeco-button artdeco-button--2 artdeco-button--secondary ember-view" data-control-name="entity_action_primary" data-control-id="AQT4G2UkQk6LQlbdf6XySw==">
    <!---->
    <span class="artdeco-button__text">Connect</span></button>

这是我尝试点击该“连接”元素的方法:

1. CONNECT_BUTTON_SEARCH_PAGE = "//*[contains(@class,'artdeco-button__text') and contains(.,'Connect')]"

2. CONNECT_BUTTON_SEARCH_PAGE = "//*[text()='Connect']"

3. CONNECT_BUTTON_SEARCH_PAGE = "//button[contains(. , ’Connect’)]"

WebDriverWait(self.driver, 5).until(EC.presence_of_element_located(
                        (By.XPATH, Xpath.CONNECT_BUTTON_SEARCH_PAGE))).click()

我不得不提到它在“网络”页面上可以正常工作,但是我希望它在搜索关键字后添加连接。因此,当我根据特殊关键字搜索人员时,在该页面上找不到“连接”按钮

我不知道为什么,但我无法做到这一点,感谢有人能帮助我

2 个答案:

答案 0 :(得分:0)

尝试这个xpath:

//button[contains(. , ’Connect’)]

答案 1 :(得分:0)

Finaly在@arundeepchohan的帮助下发现了一种(奇怪的)解决方案。

首先,我使用了这个xpath:

"//button/span[text()='Connect']/.."

但是,在尝试单击“连接”按钮之前,我不得不“刷新”页面。我对此没有任何解释,为什么没有必要刷新页面,但我在单击方法之前使用了这部分代码:

time.sleep(2)
self.driver.get(self.driver.current_url) 

感谢所有尝试提供帮助的人!