微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Selenium webdriver:查找元素问题

如何解决Selenium webdriver:查找元素问题

我是第一次尝试使用 python Selenium。
这对你们中的一些人来说是一个简单的问题,但我在这里有点失望..

我会点击链接文本打开另一个网页 (WebDriver IE)

当我检查链接时,我有这个:

<li class="limarginSP"><a class="spLink ng-binding" href="" ng-click="utility.ngPostForm(trans)">Finance System</a></li>

我试过了:

from selenium import webdriver
import time

driver = webdriver.Ie(executable_path="IEDriverServer.exe")
#local web site
driver.get("http://path.net") 
t = 5
time.sleep(t)
elem_pyFinSys= driver.find_element_by_link_text("Finance System")
elem_pyFinSys.click()

但这会在我的页面中打开另一个链接
检查下面打开的链接

<a class="navLink ng-binding" href="" ng-click="utility.ngPostForm(supp)">Reporting Subscription</a>

我的问题是如何获取正确的元素来打开正确的页面?我必须使用 Internet Explorer,因为该应用程序无法与其他浏览器配合使用。

提前致谢

解决方法

尝试使用以下定位器之一:

driver.find_element_by_css_selector("limarginSP>.spLink.ng-binding")

driver.find_element_by_css_selector(".limarginSP")

find_element_by_link_text 并不总是一个好主意,因为可能有许多相同的定位器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。