小编jmq*_*jmq的帖子

Python Selenium 脚本删除密钥,但仅在 VNC 上使用时

设置:

  • 带有 VNC 连接到 Debian 机器的 Windows 10 机器
  • Windows 上的 VNC 查看器 5.3.3
  • Debian 上的 vncserver(Xvnc 版本 TightVNC-1.3.9)

我在 Debian 机器上有一个 Python/Selenium/Chromedriver 脚本,可以对网页上的文本框进行数据输入。失败的代码非常简单:

element = browser.find_element_by_path('//input[@name="ReqDocID"]')
element.clear()
element.send_keys(doc_id) # doc_id is a 3 character string
Run Code Online (Sandbox Code Playgroud)

当我从 Windows 机器设置到 Debian 的 VNC 会话并从 X-windows 桌面上的 xterm 运行脚本时,doc_id 中的字符被随机删除。在条目之间添加延迟没有任何区别。网页在使用JS输入时不会修改文本框的内容。使用 Chrome 和 headlesschrome 都会出现问题。我确认我有一个新版本的 chromedriver(修复了一个下拉键问题)并且我的键盘设置为英语以避免另一个已知问题。

最后经过几个小时的故障排除后,我发现了一些有趣的事情。如果我在 Windows 机器上使用 Putty 直接通过 ssh 进入 Debian(没有 X-windows,没有 VNC),然后运行脚本,它可以完美运行。当我从 VNC 桌面运行相同的脚本时,由于字符被删除,它每次都会失败。

有谁知道为什么通过 VNC 连接运行脚本会有所作为?谢谢!

selenium vnc vnc-server

5
推荐指数
1
解决办法
346
查看次数

如何创建一个程序来用单个空格/选项卡替换多个空格/选项卡?

我正在尝试使用以下语法在我的教科书中重新创建一个程序。但是,当我在用于检测标签的行中添加[if(((c =''|| c ='\ t']]和上面的反向版本,并且一次只打印一个标签时,它会使整个文本再移位几左侧的“标签”。如果我删除标签的提及,则可以完美地使用空格,希望对您有所帮助。

我曾尝试在我的书中问这个问题,但最终集中在本站点的答案上(https://clc-wiki.net/wiki/K%26R2_solutions:Chapter_1:Exercise_9)为了简洁起见,我不会发布效果最好的代码,但是如果您想参考的话,它就是页面底部的代码。之后,我将目光转向了代码(下面列出了其中的一部分),该代码可以使用制表符来回答Q,而该选项卡本来就不在Q中。

int main(void)
{
    int c, p;
    p = 0;

    while ((c = getchar()) != EOF)      

    {
        if (c != ' ' || c!= '\t')
        {
            putchar(c);
            p= 0;
        }

         if ((c == ' ' || c== '\t') && p<1) 
        {
                putchar(c);
                p++;
        }

    }   if (c == '\n')
        p = 0;
}
Run Code Online (Sandbox Code Playgroud)

________________________________________________________________________________我列出的站点中的另一个示例,我认为语法简洁而有趣。

while ((c = getchar()) != EOF) 
{ if (c == ' ' || c == '\t') 
{ while ((c …
Run Code Online (Sandbox Code Playgroud)

c c++

-1
推荐指数
1
解决办法
65
查看次数

标签 统计

c ×1

c++ ×1

selenium ×1

vnc ×1

vnc-server ×1