我的任务是使用React构建的抓取网站。我正在尝试填写输入字段,并使用javascript注入页面(移动设备中的selenium或webview)来提交表单。这在其他所有站点+技术上都像魅力一样起作用,但是React似乎是一个真正的痛苦。
所以这是示例代码
var email = document.getElementById( 'email' );
email.value = 'example@mail.com';
我的值在DOM输入元素上更改,但是React不会触发change事件。
我一直在尝试多种不同的方法来使React更新状态。
var event = new Event('change', { bubbles: true });
email.dispatchEvent( event );
徒劳无功
var event = new Event('input', { bubbles: true });
email.dispatchEvent( event );
不工作
email.onChange( event );
不工作
我不敢相信与React的互动变得如此困难。我将不胜感激任何帮助。
谢谢
React正在监听input
文本字段的事件。
您可以更改值并手动触发输入事件,然后react的onChange
处理程序将触发:
class Form extends React.Component {
constructor(props) {
super(props)
this.state = {value: ''}
}
handleChange(e) {
this.setState({value: e.target.value})
console.log('State updated to ', e.target.value);
}
render() {
return (
<div>
<input
id='textfield'
value={this.state.value}
onChange={this.handleChange.bind(this)}
/>
<p>{this.state.value}</p>
</div>
)
}
}
ReactDOM.render(
<Form />,
document.getElementById('app')
)
document.getElementById('textfield').value = 'foo'
const event = new Event('input', { bubbles: true })
document.getElementById('textfield').dispatchEvent(event)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id='app'></div>
问题内容: 我正在尝试使用普通的JS或Jquery自动提交对Steemit帖子的回复。 我使用了以下JavaScript代码,但该按钮保持禁用状态,因此不允许发布回复/评论。 如何模拟文本区域上的keydown / keypress / keyup事件,以模拟用户“经典”交互以发送回复? 谢谢 目标示例:https://steemit.com/usa/@gaottantacinque/happy-
如何以编程方式从java代码填充旋转器? 我在布局中有一个旋转器,如下所示:
问题内容: 我正在尝试实现一个非常简单的用例,UI功能,其中: 有一个带有一些内容的标签 如果单击,则将文本输入替换为可用标签的内容 用户可以编辑内容 按下回车键时,输入将隐藏并且标签将返回具有更新内容的内容 我最终可以完全正确(实际上是使用MongoBD后端,redux等),而我唯一做不到的事情(花了一整天的时间在Google上搜索和阅读SOF类似的帖子)是: 当我的文字输入出现时,我无法将焦点
问题内容: 我在作业上碰壁,一直在梳理网站以寻求任何有用的信息(出现空白)。我需要创建一个类,在该类中创建一个构造函数,然后再创建一个子类以扩展超类。然后,我需要使用main方法创建一个新文件来演示这两种情况。从概念上来说没问题。 我的问题是:如何使用构造函数初始化对象,但需要用户输入? 现在我得到的错误是:“类CarRental中的构造函数CarRental无法应用于给定类型;必需:String
我是新的Java和使用JIRA MISC自定义字段加载项,并需要一些逻辑辅助来解决两个下拉字段之间的数学函数。 字段一是“用户成本”。该字段包含四个字符串选择,用户价格显示在字符串末尾。 Sam花费0.21 米奇花费0.419 兰斯2.66 xmen花费13.338 字段二是“用法”。该字段包含两个字符串选择: 24小时(维护除外) 该参数应被调用到名为“用户总成本”的新字段中此字段将自动显示用户
驱动程序的fire中有一个bug。使用chrome驱动解决了这个问题。 代码 我试过联系搜索。clear()和click()方法,但输入仍然为空。代码来自https://web.whatsapp.com/登录后会出现一个名为“搜索”或“开始新聊天”的字段。我想在该字段中输入文本。