【问题标题】:Text input field crashes chrome selenium when field cleared清除字段后,文本输入字段会导致 chrome selenium 崩溃
【发布时间】:2021-01-01 10:56:01
【问题描述】:

我经营一个露营地,我正在使用 Selenium 浏览我的预订系统以提取一些信息。我正在尝试导航的页面具有带有type=text 的输入字段,该字段配备了日期选择器。当我尝试选择该字段并使用.send_keys() 方法时,chrome 似乎崩溃了。我还尝试使用.clear() 功能并手动发送DELETE 键x 次以清除该字段。每次尝试清除字段中的最后一个字符时,chrome 都会崩溃。

frame = driver.find_element_by_name('theFrame')
driver.switch_to.frame(frame)
print("frame detected")

wait.until((EC.presence_of_element_located((By.NAME, "from"))))
print("from element detected")
sleep(5)
fromfield = driver.find_element_by_name("from")
fromfield.send_keys(f'{yesterday}')
tofield = driver.find_element_by_name("to")
tofield.send_keys(f'{yesterday}')

是否是唯一的方法来编写 selenium 来操作日期选择器?我可以做到这一点,只是有点让人头疼,而且我还没有看到其他地方提到过这个 clear = crash 问题,所以想知道这是否是我做错了。

编辑:澄清一下,当此字段被清除时,页面通常似乎崩溃。不仅仅是在使用 selenium 时。

干杯, 西蒙

【问题讨论】:

  • this 回答你的问题了吗?
  • 那种。因此,我试图通过将日期键直接发送到输入字段来避免对日期选择器的操作进行编码,但我认为页面上的 JS 存在问题,这意味着当字段中的内容被清除时页面挂起。所以看起来我确实需要对日期选择器的导航进行编程。没什么大不了的,只是比其他情况要啰嗦一些。

标签: python python-3.x selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

你说它有type=text,你的意思是它只是一个普通的文本框?这取决于日期选择器是如何配备的,以及它是什么类型的日期选择器才能正常工作。我认为问题出在网站及其数据选择器上。您可能可以通过另一种方式对其进行编程以使其工作。

【讨论】:

  • 我认为你是对的,这是页面和日期选择器的问题。我认为 JS 正在监视该字段的内容(日期选择器状态在键上发生变化)并且它无法处理该字段为空。我只需要编写日期选择器的导航代码。没什么大不了的 - 只是多几行,否则会出现这种情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-25
  • 1970-01-01
  • 2022-12-25
  • 2021-11-22
相关资源
最近更新 更多