selenium和splinter的超链接文本定位元素的错误问题

最近自学python中,用公司的网站进行测试网上找的代码,发现用splinter的超链接文本可以成功定位元素,但是改成用selenium就不行,是否有人可以解惑一下,谢谢。我查看了源代码,“江苏”是唯一的,代码如下:

始终停留在这个页面 

 

province = broswer.find_element_by_class_name("province").find_elements_by_tag_name("span")
for p in province:

       if p.text()=='江苏':

       p.click()

 

id定位
webdriver提供的id定位的方法是通过元素的id属性来查找元素的:

find_element_by_id()

eg:

driver.find_element_by_id("LoginFormEmail")


name定位
find_element_by_name()

eg:通过name定位百度输入框

<input autocomplete="off" maxlength="255" value="" class="s_ipt" name="wd" id="kw">
find_element_by_name("wd").send_keys("python")

class 定位
通过元素类名定位元素,

find_element_by_class_name()

eg:元素类名定位百度输入框

find_element_by_class_name("s_ipt").send_keys("selenium")

tag定位(标签)
每一个元素本质就是一个tag,但是HTML页面的tag重复性很厉害,一般很少用这个定位。

find_element_by_tag_name()

eg:

find_element_by_tag_name("input") 通过input标签定位


link定位
link定位专门用来定位文本链接的。

find_element_by_link_text()
 

这两个使用上有什么区别,为何会造成不一样的结果?因为网址是只有内网才能打开,就不放了

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632