如何解决不知道该如何选择使用Selenium Python的特定图标
我目前正在与Selenium和bs4一起进行项目。到目前为止,我可以使用硒毫无问题地浏览网站,但是,我需要单击一个特定的图标,该图标会打开一个新标签,其中包含一些我需要使用BS4进行剪贴的信息。我的问题是,在查看HTML时,我不知道要使用Selenium定位什么才能单击该图标。
HTML示例:
<a onmouseover="XYZ.Util.showHoverText(this,'Print view')" href=
"app/exports/timesheet_print.php?startDate=2020-09-07&endDate=2020-09-11&filter_user=110483" target="_blank">
<img src="images/icons/printer.png" class="icon">
</a>
通常我是按名称,ID或类来查找项目的,但在那种情况下,我不知道要选择什么。
我应该寻找xpath吗?
解决方法
要单击图标,您需要为element_to_be_clickable()
引出WebDriverWait,并且可以使用以下Locator Strategies中的任何一个:
-
使用
CSS_SELECTOR
:WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"a[href^='app/exports/timesheet_print']>img.icon[src^='images/icons/printer']"))).click()
-
使用
XPATH
:WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//a[starts-with(@href,'app/exports/timesheet_print')]/img[@class='icon' and starts-with(@src,'images/icons/printer')]"))).click()
-
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。