我有两个与 Selenium 相关的简单问题。其实我是这个框架的新手。
提出的问题是:
<a href="http://url.com" onclick="somejsfunc();" title="title_text">HERE ARE CHINESE CHARACTERS</a>
和
<a href="javascript:void(0);" onclick="anotherjsfunc();">HERE ARE ANOTHER CHINESE CHARACTERS</a>
如何使用 selenium 来点击每个 anchor ?
请注意第一个有关键字“title”,我知道我可以用它来匹配,但不知道如何实现它。我不打算使用那里提供的 CHARACTERS,因为它因项目而异。
第二个,在这种情况下,中文字符是固定的。由于没有其他线索,我想我只能用它来检测并通过 Selenium 发出点击事件。
请指教,谢谢。
请您参考如下方法:
您可以通过多种方式找到这两个链接。选择哪个选项取决于页面上链接的位置、元素属性的唯一性、文本等。
也就是说,有两种相关的方法应该首先尝试:
以下是您应该如何使用它们:
first_link = driver.find_element_by_link_text(u'HERE ARE CHINESE CHARACTERS')
first_link.click()
second_link = driver.find_element_by_link_text(u'HERE ARE ANOTHER CHINESE CHARACTERS')
second_link.click()
其中 driver 是一个 Webdriver 实例,例如:
from selenium import webdriver
driver = webdriver.Firefox()
如果您不能依赖链接文本,请检查 title 和 onclick 属性并使用以下方法之一:
示例(使用两种方法中的第一种):
first_link = driver.find_element_by_xpath('//a[@title="title_text"]')
first_link.click()
second_link = driver.find_element_by_xpath('//a[@onclick="anotherjsfunc();"]')
second_link.click()
