【发布时间】:2019-09-10 21:35:44
【问题描述】:
目前我正在使用 selenium python 自动化网站。我有这个问题,当我手动输入J590 到目标textbox 时,我将不得不单击网站上的任意位置或按下选项卡,这将刷新网站,并且下拉框中将提供一个选项。但是,selenium 似乎并没有为我刷新页面。
我尝试在将J590 发送到textbox 之前和之后使用click(),我也尝试在发送J590 之后使用send_keys(Keys.TAB),但没有一个有效。
这是我用来发送inputs的代码
driver.execute_script("document.getElementById('CustCd').value+="+ dumps(jcode))
这是我发送input后尝试的代码
driver.find_element_by_xpath('//*[@id="Item"]/form/center/input[2]').click()
or
driver.find_element_by_xpath('//*[@id="CustCd"]').send_keys(Keys.TAB)
我可以知道为什么硒会这样吗?有解决办法吗?
【问题讨论】:
-
这很难说,但你确定你没有点击同一个输入元素,你不需要点击不同的元素来触发刷新吗?
-
@MadisonCourto 啊,是的,我点击了一个不同的元素。我忘记更改 xpath。
-
现在可以用了吗?
-
不知道为什么你使用js来输入值而不是使用send_keys。我怀疑当您使用 js 时与元素关联的键盘事件不会触发。如果 js 是设置值的唯一选项,那么您必须调度相应的事件来触发更改。请参阅this 回答以了解元素的关联事件。
-
@MadisonCourto 不,它不工作
标签: javascript python selenium