我正在尝试使用 python 3 从 WSL2(Ubuntu 18.04)无头打开 Chrome。
在 Windows 上,我使用的是 Chrome 84。我已经从ChromeDriver - WebDriver for Chrome下载了 Chrome Driver 84 。并在 C:\ChromeDriver\chromedriver.exe 下安装了 .exe
我已经设置了从 Windows Chrome 和 ChromeDriver 到 WSL2 的符号链接:
sudo ln -s '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe' /usr/bin/google-chrome
sudo ln -s /mnt/c/ChromeDriver/chromedriver.exe /usr/bin/chromedriver
Run Code Online (Sandbox Code Playgroud)
两个 Chrome 都设置为可由 WSL2 上的任何用户执行。
在 WSL2 上,当我在控制台中输入时:
google-chrome --use-gl=swiftshader
Run Code Online (Sandbox Code Playgroud)
Chrome 在 Windows 上启动。
这是我的脚本:
from selenium import webdriver
browser = webdriver.Chrome() # fails
# browser = webdriver.Chrome('/usr/bin/chromedriver') fails
# browser = webdriver.Chrome('/mnt/c/ChromeDriver/chromedriver.exe') fails
browser.get('https://stackoverflow.com') …Run Code Online (Sandbox Code Playgroud) selenium google-chrome python-3.x selenium-chromedriver wsl-2
我正在构建一个与 PLC 通信的 Python 文件。编译时,PLC 会创建一个 XML 文件,该文件提供有关程序的重要信息。XML 看起来不太像这样:
<visu>
<time>12:34</time>
<name>my_visu</name>
<language>english</language>
<vars>
<var name="input1">2</var>
<var name="input2">45.6</var>
<var name="input3">"hello"</var>
</vars>
</visu>
Run Code Online (Sandbox Code Playgroud)
重要的部分可以在子“vars”下找到。使用Python我想创建一个文件,当发送参数“input2”时,它将打印“45.6”。
到目前为止,我可以读取“visu”的所有子级,但不知道如何实际告诉Python在“child的子级”中搜索。这是我到目前为止得到的:
tree = ET.parse("file.xml")
root = tree.getroot()
for child in root:
if child.tag == "vars":
.......
if ( "childchild".attrib.get("name") == "input2" ):
print "childchild".text
Run Code Online (Sandbox Code Playgroud)
我有什么想法可以完成脚本吗?(或者也许是一种更有效的编程方式?)
是否可以使用Notepad ++ 搜索和替换字符串并保持大小写(大写或大写)格式?
例如,我有以下几个文件中经常使用的字符串:
UserLogin
USERLOGIN
userlogin
Run Code Online (Sandbox Code Playgroud)
现在,我需要将所有名称都命名为“消费者”,而不是“用户”。像这样:
ConsumerLogin
CONSUMERLOGIN
consumerlogin
Run Code Online (Sandbox Code Playgroud)
无论如何,在记事本++中仅进行1次搜索/替换就可以进行此更改?还是我必须做3种不同的搜索/替换?