gpt4 book ai didi

c# - 如何以编程方式单击网络浏览器控件内的 facebook 'Post' 按钮

转载 作者:行者123 更新时间:2023-11-30 20:43:41 26 4
gpt4 key购买 nike

我有一个加载 facebook 的网络浏览器控件,使用 SendKeys 编写消息,但我找不到“单击”发布按钮的方法。

我试过这样的东西:

HtmlElement button = webBrowser1.Document.GetElementById("_42ft");
button.InvokeMember("Click");

当我在常规网络浏览器中使用“检查元素”时,以下 html 代码似乎是发布按钮。

<button class="_42ft _4jy0 _11b _4jy3 _4jy1 selected _51sy" type="submit" value="1" data-ft='{"tn":"+{"}'>Post</button>

我已经尝试了所有这 5 个字符串,认为它们是按钮名称,但是当我尝试使用 button.InvokeMember("Click"); 单击它们时它们都是空的p>

这让我抓狂。是的,我知道我可以使用 facebook API,但我发现它很困惑,而且他们的最后更新破坏了我的程序。

最佳答案

要使用 GetElementById,您需要提供元素的 ID 属性值。您提供的按钮元素没有设置 ID 属性。

您可以做的是获取所有按钮元素的集合:

var buttons = Document.GetElementsByTagName("button");

并筛选出属性“class”值为“_42ft _4jy0 _11b _4jy3 _4jy1 selected _51sy”的对象:

var postButton = buttons.SingleOrDefault(x => x.GetAttribute("class").Equals("_42ft _4jy0 _11b _4jy3 _4jy1 selected _51sy"));

但是!使用这种方法是一个非常糟糕的主意,因为一旦他们更改了该元素上类属性的值,您将得到 null 并且必须更新您的代码。我强烈建议您使用他们的 API。

关于c# - 如何以编程方式单击网络浏览器控件内的 facebook 'Post' 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30290236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com