Facebook post_box元素。我无法通过xpath

时间:2017-02-28 16:19:10

标签: python selenium xpath selenium-webdriver

Facebook post_box元素。我无法通过xpath找到元素

您好, 我学会用Selenium Webdriver用Python编写自动化测试脚本。我将制作“Facebook海报剧本”。登录后我想点击SendBox并发送一些文字,但我不能用Xpath识别它。萤火虫不能帮助mi。求助。

这样的事情:

登录后

newpost=driver.find_element_by_xpath("i dont know correct xpath")
newpost.click()
newpost.send_keys("Hello!")
newpost.submit()

Firebug的Xpath无法正常工作

newpost = driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[2]/div[2]/div[2]/div/div[3]/div/div/div/div[2]/div[1]/div/div/div/div[2]/div/div[1]/div[1]/div[2]/div/div/div/div/div/div[2]/div/div/div/div")

2 个答案:

答案 0 :(得分:0)

首先,永远不要使用绝对xpath - 维护成本很高,看起来很糟糕。

据我所知,你需要点击输入字段,占位符“你的想法是什么”。然后,您可以使用值'status-attachment-mentions-input'的'data-testid'属性。

如果你真的需要使用xpath,试试这个: "//[@data-testid='status-attachment-mentions-input']"。您也可以使用css选择器并找到这样的yo元素:

inputField = driver.find_element_by_css_selector("[data-testid='status-attachment-mentions-input']")

答案 1 :(得分:0)

正确的解决方案:

newpost = driver.find_element_by_css_selector("[name='xhpc_message']")
newpost.click()
newpost.send_keys("Hello!")
newpost.submit()

@GVi thx寻求帮助