python控制网页成功经验

it2025-01-10  15

webbrowser只能整体操作网页,没法像selenium那样每个网页元素都可以操控,webbrowser有三种用法: webbrowser.open 在当前打开 webbrowser.open_new_tab 打开新的标签页 webbrowser.open_window 打开新的窗口 第一个不好用,树莓派上的chrome浏览器操控时,跟第二个功能竟然一样,每次打开都要重开一次标签。 用法如下: import webbrowser webbrowser.open(“http://www.baidu.com”)

还是换成selenium比较好,里面的get方法也一样是打开网页,但一次打开即可,其它的用find_element_by_id等方法操作当前页面即可。用法如下:

下载Chrome驱动: 链接:https://pan.baidu.com/s/1NFPXEJHYXMMGrlbL4rIwUw 提取码:1234

pip install selenium 然后就可以用了。

例子如下: #coding:utf-8 from selenium import webdriver import time token = ‘xxxxxxxx’ #登陆用的,意思一下,这里真实的token号码用xxxxxx隐去 driver = webdriver.Chrome(’/usr/lib/chromium-browser/chromedriver’) url=‘http://www.dagoovis.com:8000/workbench/69?token=’+token #不登陆的话,不用url中间变量也行的,可以用下句类似百度网页直接输入即可。 #driver.get(‘https://www.baidu.com/’) driver.get(url) #driver.maximize_window() time.sleep(2) #driver.find_element_by_xpath("./*//input[@value=‘百度一下’]").click() driver.find_element_by_id(‘voice_export’).click() #voice_export是此网页上导出按钮的ID #driver.find_element_by_name(‘wd’).send_keys(‘Dagoo’) # 按name查找.传字符串 #driver.find_element_by_id(‘su’).click() # 按id查找.单击 time.sleep(2) driver.find_element_by_id(‘voice_download’).click() #voice_download是此网页上导出按钮的ID

以上例子在树莓派3.0B上运行成功之前,也就是在我刚装了Chrome驱动和selenium插件之后,原来用好好的用的webbrowser的例子崩溃了, …

弹出来:urllib3…ImportError: No module named ordered_dict

估计是这两个东西自动更新了我原有的包,导致版本错误了。重新装一下urllib3解决问题: pip install urllib3==1.22

我的以上句子就解决了问题,网上说如果以上句子引起以下错误: ERROR: Cannot uninstall ‘urllib3’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. 那么用下句写法安装可解决问题: sudo pip install --ignore-installed urllib3==1.22

或者干脆卸载掉重新安装,如下: pip uninstall urllib3 然后输入: pip install urllib3==1.22

最新回复(0)