大家好,我正在开发一个用于在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()
我不得不提到它在“网络”页面上可以正常工作,但是我希望它在搜索关键字后添加连接。因此,当我根据特殊关键字搜索人员时,在该页面上找不到“连接”按钮
我不知道为什么,但我无法做到这一点,感谢有人能帮助我
答案 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)
感谢所有尝试提供帮助的人!