暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

selenium的升级与降级

济南小老虎 2024-04-10
161

背景

selenium3 和 seleium4的版本变化挺大的
清明加班时 同事说可以升级,我直接就用上了最新版本

但是给我的测试demo 发现会报错
原来 43 的很多语法都发生了变化.
可能无法直接使用.

虽然感觉直接升级版本是最好不过的, 因为升级了新版本
可能性能和特性要表现的好一些
但是想为了能够节约资产投资, 还是减少一些麻烦.


思路

降级 selenium 的版本, 使之能够兼容. 
脚本为:
/opt/python3/bin/pip3 uninstall urllib3
/opt/python3/bin/pip3 install urllib3==1.26.18
/opt/python3/bin/pip3 uninstall selenium
/opt/python3/bin/pip3 install selenium==3.141.0


说明

selenium3 不能使用 urllib3 较新的版本
会报错为:

File "xxx/site-packages/urllib3/util/timeout.py", line 152, in _validate_timeout
raise ValueError(
ValueError: Timeout value connect was <object object at 0x7f944cb006a0>,
but it must be an int, float or None.

所以必须也得同时降级.


测试脚本-selenimum3

cat >/demo.py <<EOF
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

chrome_options = Options()
chrome_options.add_argument("--headless") # 在无头模式下运行
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--disable-dev-shm-usage")
driver = webdriver.Chrome(options=chrome_options, executable_path='/opt/python3/bin/chromedriver')
driver.get("https://www.baidu.com")
time.sleep(5.0)
driver.save_screenshot('/baidu_screenshot.png')
driver.quit()
EOF

/opt/python3/bin/python3 demo.py


测试脚本-selenium4

cat > demo.py <<EOF
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
import time

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--window-size=1920,1080")
s = Service('/opt/python3/bin/chromedriver')
driver = webdriver.Chrome(service=s, options=chrome_options)
driver.get("https://www.baidu.com")
time.sleep(5)
driver.save_screenshot('/baidu_screenshot.png')
driver.quit()
EOF

/opt/python3/bin/python3 /demo.py


文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论