在工作中,我们有一项基本上需要以下步骤的任务: 1.打开一个URL 2.单击过去的SSL证书 3.单击链接 4.重复20次
我已经研究过如何使用Selenium在Python中自动执行此任务,但是代码读起来像这样(这只是超过200行的开始):
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
capabilities = webdriver.DesiredCapabilities()INTERNETEXPLORER
capabilities['acceptSslCerts'] = True
driver = webdriver.Ie("C:\\Python27\\IEDriver\\IEDriver.exe")
driver.get("https://example.com")
sleep(5)
driver.find_element_by_link_text("Continue to this website (not recommended).").click()
driver.find_element_by_link_text("Clear cache").click()
driver.close()
sleep(20)
driver = webdriver.Ie("C:\\Python27\\IEDriver\\IEDriver.exe")
driver.get("https://example.com2")
sleep(5)
driver.find_element_by_link_text("Continue to this website (not recommended).").click()
driver.find_element_by_link_text("Clear cache").click()
driver.close()
sleep(20)
它基本上重复了完成缓存清除所需的次数。
我确定有办法循环这些操作。就像创建.txt文档并让Python从中读取并将其内容用作driver.get()部分中的参数一样。但我不知道该怎么做。
到目前为止,我已经知道我可以定义一个重复的函数,直到列表用完为止。但我不知道如何在为driver.get()命令使用不同的参数时重复该函数。
这可行吗?我并不是真的来自编程背景,所有这些对我来说都是非常新的,所以我仍然掌握着一切......
答案 0 :(得分:0)
driver = webdriver.Ie("C:\\Python27\\IEDriver\\IEDriver.exe")
for url in ["https://example.com1",
"https://example.com2",
"https://example.com3",]:
driver.get(url)
sleep(5)
driver.find_element_by_link_text("Continue to this website (not recommended).").click()
driver.find_element_by_link_text("Clear cache").click()
sleep(20)
driver.close()
浏览一些python教程。