在网络浏览器中自动下载图片,然后使用python

时间:2018-10-22 19:02:49

标签: python selenium-webdriver

我有一个网站,需要下载一些东西(png图片)。 这个过程是这样的。

转到网站->使用凭据登录->打开所需的内容->复制图像链接地址->将其粘贴在记事本中->单击下一个按钮->复制图像链接地址->将其粘贴在记事本中。并反复重复,直到我无法单击下一步按钮为止。从记事本中生成的链接中,我可以下载图像,然后从图像中制作PDF书。我设法使用urllib下载所有图片,并使用PIL库从图片制作PDF。

好吧,我要设法在selenium webdriver和python的帮助下进行操作,我可以登录我的网站,单击链接进入希望的弹出窗口,在其中我可以抓取所需的内容。但是这里有问题,因为当我弹出窗口时,可以使用命令driver.switch_to.window.(window_handle)处理他。输入css_selector后,出现错误:

  

selenium.common.exceptions.NoSuchElementException:消息:没有这样的消息   元素:无法找到元素:{“ method”:“ css   选择器“,”选择器“:” li.buttonSpace:nth-​​child(3)“}

好吧,我的问题是,即使我通过定位必要的元素来解决此问题,我也该如何扫描网站并查找img元素?还使用硒或其他一些库吗?

1 个答案:

答案 0 :(得分:0)

我解决了我的问题:),问题是我的框架在框架内。

解决方法是:

driver.switch_to.frame(driver.find_element_by_xpath("frame_level_1"))
driver.switch_to.frame(driver.find_element_by_xpath("frame_level_2"))
element = driver.find_element_by_xpath("Desired button").click()