Python 浏览器控制踩坑 -selenium

6 篇文章 0 订阅
1 篇文章 0 订阅
sudo apt install firefox-esr
wget https://github.com/mozilla/geckodriver/releases/download/v0.29.0/geckodriver-v0.29.0-linux32.tar.gz
tar -xzvf geckodriver-v0.29.0-linux32.tar.gz
sudo cp geckodriver /usr/bin/geckodriver

注意,使用selenium中报出selenium.common.exceptions.WebDriverException: Message : ‘geckodriver’ executable needs to be in PATH是因为未安装浏览器跟geckodriver控件,按上述操作安装即可

出现selenium.common.exceptions.WebDriverException: Message : connection refused说明你下载的geckodriver不是最新版本,去github找一下最新版本就好

基本打开网页操作:

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")

在这里插入图片描述
Firefox设置自动保存压缩文件:(在浏览器中设置是无效的,用脚本打开的没有那些你自己设置的偏好)

firefox_profile = webdriver.FirefoxProfile()
firefox_profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream, application/vnd.ms-excel, text/csv, application/zip")    

Firefox设置在后台运行:

firefox_options = webdriver.FirefoxOptions()
firefox_options.add_argument('--headless')
driver = webdriver.Firefox(firefox_profile = firefox_profile, options = firefox_options)
driver.get(url)    

用VS Code调试的时候,使用Ctrl + F5快捷键运行会在结束的时候自动退出火狐。而用右上角的小绿三角run python file in terminal就不会在程序运行结束后自动关闭了。这时候就需要使用下面代码进行关闭操作

driver.quit()#退出浏览器

windows =  driver.window_handles
for window in windows:
	if u_wanna_close_it:
		driver.switch_to.window(window)#切换到想退出的页面
		driver.close()#关闭当前页面

各种寻键操作:

driver.find_element_by_id("button_u_wanna_click").click()
driver.find_element_by_link_text("ur_target_button_text").click()

target_btns = driver.find_elements('tag name', 'button')    
for target_btn in target_btns:
	if target_btn.get_attribute("class") == "some_class_of_ur_target_button":
		if target_btn.text == "ur_target_button_text":
                	target_btn.click()
                        break

Cheers

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值