Kev*_*tre 6 javascript selenium capybara selenium-chromedriver
Chrome / Selenium 对于区域设置之间的某些输入类型似乎有不同的格式。例如,日期选择器(即input type="date")的格式与mm/dd/yyyy美国和yyyy-mm-dd加拿大相同。这使得编写适用于不同区域设置的机器的规范变得困难。例如:
find("input[type='date']").set("12/31/2016") # works for Canada, fails for America
find("input[type='date']").set("2017-12-31") # works for America, fails for Canada
Run Code Online (Sandbox Code Playgroud)
是否可以配置 Capybara / Selenium 以使用特定的区域设置/格式进行输入?或者,是否可以通过 JS 确定输入的格式并替换为 a page.execute_script(设置为input.val(new Date(2016, 12, 31))不起作用)?
输入所需的区域设置/格式不是由 Capybara/Selenium 设置的,而是由运行的浏览器设置的(Capybara/Selenium 实际上并不知道这是他们正在填写的日期框,他们只是按顺序发送击键你告诉他们)。如果您只需要处理几个区域设置,一个想法是使用获取规范开头evaluate_script的值,然后根据该值更改发送日期的格式。navigator.language
| 归档时间: |
|
| 查看次数: |
966 次 |
| 最近记录: |