问题描述
因此,正如标题所述,我想从Web浏览器中网页元素上获取文本,并将其保存在.txt文件的新行中,然后首先将其复制到剪贴板。
它可以工作,但是始终卡在同一元素上(当元素中的文本更改时,剪贴板保存不会更改,因此它会继续粘贴相同的文本
代码如下:
CurBrowser.GetMainFrame().ExecuteJavaScriptAsync("const element = document.createElement('textarea'); element.value = document.getElementsByClassName('question-text')[0].innerText; document.body.appendChild(element); element.select(); document.execCommand('copy'); document.body.removeChild(element);");
Clipboard.ContainsText(TextDataFormat.Text);
string questionfromclipboard = Clipboard.GetText(TextDataFormat.Text);
MessageBox.Show(questionfromclipboard.ToString());
File.AppendAllText(@"C:\Users\RenoPC\Desktop\New Questions.txt",questionfromclipboard + Environment.NewLine);
解决方法
在这里,尝试一下:
CurBrowser.GetMainFrame().ExecuteJavaScriptAsync("var element = document.createElement('textarea'); element.value = document.getElementsByClassName('question-text')[0].innerText; document.body.appendChild(element); element.select(); document.execCommand('copy'); document.body.removeChild(element);");
Thread.Sleep(500);
Clipboard.ContainsText(TextDataFormat.Text);
string questionfromclipboard = Clipboard.GetText(TextDataFormat.Text);
MessageBox.Show(questionfromclipboard.ToString());
File.AppendAllText(@"C:\Users\RenoPC\Desktop\New Questions.txt",questionfromclipboard + Environment.NewLine);