Selenium python点击facebook上的一个元素不起作用

时间:2016-12-14 13:41:25

标签: python selenium click element

我有像这样的HTML代码

<div class="_75e" id="u_0_1z">Invite friends to like this Page</div>

我想点击包含“邀请朋友喜欢此页面”文字的链接。 enter image description here

我尝试了以下方式

driver.find_element_by_id("u_0_1z").click()

driver.find_element_by_link_text('Invite friends to like this Page').click()

但是,单击消息框按钮而不是单击链接

喜欢这个 enter image description here

你能帮我解决这个问题吗?非常感谢你!!

1 个答案:

答案 0 :(得分:0)

  

driver.find_element_by_link_text('Invite friends to like this Page').click()

这绝对不会起作用,因为&#34; by link text&#34; locator仅适用于链接 - a元素。

  

driver.find_element_by_id("u_0_1z").click()

这看起来应该与元素相匹配,但从症状判断,页面上有一个另一个元素id

我尝试使用&#34; by xpath&#34;选项:

driver.find_element_by_xpath("//div[. = 'Invite friends to like this Page']").click()

如果您遇到任何与时间相关的问题,也可以添加Explicit Wait

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
elm = wait.until(EC.visibility_of_element_located((By.XPATH, "//div[. = 'Invite friends to like this Page']")))
elm.click()