我正在尝试自动化登录到一个网站和下载报告的过程。
在选择要下载的报告时,您必须将鼠标悬停在网站上的菜单栏上,并将鼠标悬停在右侧选项卡上,将打开下拉菜单,然后单击所需的报告。
下拉菜单的截图(抱歉,没有点嵌入图片)
我几乎没有编码经验,我是Python 3的新手,所以我正在努力如何做到这一点。
使用Selenium库,我能够找到诸如用户和密码字段之类的东西,并传递信息以自动登录到站点。但是不知道如何在这个下拉菜单中抓取或指向正确的报告,以便简单地单击它。
这是一个片段的页面源代码…类名= rmText…它们的类名都是一样的…只有<span>
中的文本是唯一的,但我不知道如何使用Python 3代码获取。
页面源代码截图
我知道一种方法来做到这一点使用VB脚本…但我更愿意继续使用Python 3(并在此过程中学习如何通过Python实现这一点)。下面的示例用于类似的报告,其中多行具有相同的类名,我们只需要一个名为"fill"的行。VB脚本的示例代码:
Set project = .Document.getElementsByClassName("UPC_Items")
For Each elm In project
If instr(elm.innerhtml,"Infill") then
elm.Click
Exit For
End If
Next
如何使用Python 3实现相同的功能?Selenium是正确的库吗?
谢谢你的阅读,希望能帮助到一个Python新手!
试试下面的代码,希望能有所帮助:
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
drive = webdriver.Firefox()
driver.get('your url')
....
steps to reach your place where that menu link is presert
....
element = driver.find_element_by_class("rmText")
putmouse = ActionChains(driver).move_to_element(element)
putmouse.perform()
time.sleep(2)
texttoclick = driver.find_element_by_xpath(".//li[@class='rmText']//span[text()='MCC']")
actions.move_to_element(texttoclick).click().perform()