在colab上运行Selenium[某农业大学作业不退版本解决方案]

感谢:Selenium - Python - AttributeError: 'WebDriver' object has no attribute 'find_element_by_name' - Stack Overflow

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
import time
url='https://www.baidu.com/'
url=url.encode('ascii','ignore').decode('unicode_escape')
service=Service(executable_path=r'/usr/bin/chromedriver')
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
wd = webdriver.Chrome(service=service,options=chrome_options)
wd.get(url)
time.sleep(2)
input = wd.find_element("name", "wd")
input.send_keys("信息检索")
input.send_keys(Keys.ENTER)
 
print(wd.current_url)
print(wd.page_source)

2024/3/28,selenium均使用目前最新

由于selenium更新,导致部分方法停用,请使用新的Service和find_element

如果想在colab上正常运行,则需在此代码前使用使用

%%shell
# Ubuntu no longer distributes chromium-browser outside of snap
#
# Proposed solution: https://askubuntu.com/questions/1204571/how-to-install-chromium-without-snap

# Add debian buster
cat > /etc/apt/sources.list.d/debian.list <<'EOF'
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-buster.gpg] http://deb.debian.org/debian buster main
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-buster-updates.gpg] http://deb.debian.org/debian buster-updates main
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-security-buster.gpg] http://deb.debian.org/debian-security buster/updates main
EOF

# Add keys
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DCC9EFBF77E11517
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 112695A0E562B32A

apt-key export 77E11517 | gpg --dearmour -o /usr/share/keyrings/debian-buster.gpg
apt-key export 22F3D138 | gpg --dearmour -o /usr/share/keyrings/debian-buster-updates.gpg
apt-key export E562B32A | gpg --dearmour -o /usr/share/keyrings/debian-security-buster.gpg

# Prefer debian repo for chromium* packages only
# Note the double-blank lines between entries
cat > /etc/apt/preferences.d/chromium.pref << 'EOF'
Package: *
Pin: release a=eoan
Pin-Priority: 500


Package: *
Pin: origin "deb.debian.org"
Pin-Priority: 300


Package: chromium*
Pin: origin "deb.debian.org"
Pin-Priority: 700
EOF

# Install chromium and chromium-driver
apt-get update

apt-get install chromium chromium-driver

# Install selenium
pip install selenium

此代码来自stackoverflow

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Colab运行VTK(Visualization Toolkit)需要进行以下步骤: 1. 安装必要的软件包:在Colab的代码单元格中,使用以下命令安装VTK和相关软件包。 ```python !pip install vtk !apt-get update !apt-get install -y xvfb x11-utils !pip install pyvirtualdisplay !pip install EasyProcess ``` 2. 设置虚拟显示:在Colab的代码单元格中,使用以下代码设置虚拟显示。 ```python from easyprocess import EasyProcess from pyvirtualdisplay import Display display = Display(visible=0, size=(800, 600)) display.start() xvfb = EasyProcess(['Xvfb', ':1', '-screen', '0', '800x600x16']) xvfb.start() ``` 3. 导入VTK并进行测试:在Colab的代码单元格中,使用以下代码导入VTK并进行简单的测试。 ```python import vtk # 创建一个简单的VTK场景 renderer = vtk.vtkRenderer() renderWindow = vtk.vtkRenderWindow() renderWindow.SetWindowName("VTK Example") renderWindow.AddRenderer(renderer) # 创建一个简单的VTK演员 coneSource = vtk.vtkConeSource() coneMapper = vtk.vtkPolyDataMapper() coneMapper.SetInputConnection(coneSource.GetOutputPort()) coneActor = vtk.vtkActor() coneActor.SetMapper(coneMapper) # 将演员添加到场景中 renderer.AddActor(coneActor) # 创建一个渲染窗口交互器并启动事件循环 renderWindowInteractor = vtk.vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) renderWindow.Render() renderWindowInteractor.Start() ``` 以上是在Colab运行VTK的基本步骤。请注意,由于Colab是基于云的环境,可能会受到一些限制,并且可能会在性能方面有所不同。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值