小编qua*_*tik的帖子

Selenium Firefox webdriver适用于从Ubuntu构建的图像,但不适用于使用Debian构建的图像

这是我遇到的一个非常奇怪的情况.我有以下简单的Python脚本:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options


options = Options()
options.add_argument("-headless")
browser = webdriver.Firefox(firefox_options=options)
browser.get("https://www.google.com")
print(browser.current_url)
Run Code Online (Sandbox Code Playgroud)

和脚本的包装:

#!/bin/bash

wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz
tar -xzvf geckodriver-v0.19.1-linux64.tar.gz
chmod 777 geckodriver
mv geckodriver /usr/bin/
firefox -v
# python3 when ubuntu
python test.py 
Run Code Online (Sandbox Code Playgroud)

另外我有两个Dockerfiles:

Dockerfile A(Ubuntu;工作正常):

FROM ubuntu:16.04
RUN apt-get update -y && apt-get install -y python3 \
        python3-pip \
        firefox \
        build-essential \
        wget
COPY . /app
WORKDIR /app
RUN pip3 install --upgrade pip
RUN pip3 install -r requirements.txt
ENTRYPOINT ["bash"]
CMD ["test_wrapper.sh"] …
Run Code Online (Sandbox Code Playgroud)

python debian selenium docker iceweasel

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

如果在perl中有多个条件的语句

我正在尝试构建一个if具有多个条件的语句,而不是太冗长.目前我有:

my $string = "Hamburger";
my @string_as_array = ( $string =~ m/.../g );
my $x=(scalar @string_as_array);
for(my $i=0; $i<$x; $i++)   {
    if ($string_as_array[$i] eq "Ham" || $string_as_array[$i] eq "bur") {
        print "CHEESE";
    }
    elsif ($string_as_array[$i] eq "ger")   {
        print "WICH";
    }
    else {
        print $string_as_array[$i];
    }
}
print "\n";
Run Code Online (Sandbox Code Playgroud)

理想情况下,if如果有可能,我会在第一个声明中喜欢这样的内容:

my $string = "Hamburger";
my @string_as_array = ( $string =~ m/.../g );
my $x=(scalar @string_as_array);
for(my $i=0; $i<$x; $i++)   {
    if ($string_as_array[$i] eq "Ham" || "bur") …
Run Code Online (Sandbox Code Playgroud)

perl

3
推荐指数
1
解决办法
5186
查看次数

标签 统计

debian ×1

docker ×1

iceweasel ×1

perl ×1

python ×1

selenium ×1