我对测试自动化非常陌生,所以如果我只知道部分文本,我可以点击一些链接。
我知道有find_element_by_partial_link_text
,但代码中的单词随机出现
。如果显示
,我无法点击部分文字,例如:
我只知道单词示例
<a class="name-link">First Example</a>
我无法按类点击,因为有很多相同的类。
有没有办法忽略
?
我在写python。
答案 0 :(得分:2)
尝试click()
元素:
Partial Link Text
driver.find_element_by_partial_link_text("First Exa").click()
XPath
driver.find_element_by_xpath("//a[@class='name-link' and contains(.,'First Exa')]").click()
答案 1 :(得分:1)
如果您希望按字词"Example"
匹配,可以尝试使用XPath搜索
driver.find_element_by_xpath('//a[contains(., "Exa") and contains(., "mple")]').click()
但请注意,它也会匹配,例如,链接"Examine the sample"
如果这不适合您,您可能需要使用更复杂的xpath:
//a[starts-with(substring-after(., " "), "Exa") and substring(substring-after(., " "), 5) = "mple"]
匹配格式的字符串“(字符串)(空格)Exa(额外的非ascii字符)mple”
另请注意,方法find_by_link_text()
/ find_by_partial_link_text()
会搜索显示在页面上的文字,但不会搜索HTML源代码中显示的 ,因此您只需复制浏览器呈现的页面中的文本,并将其用作driver.find_element_by_partial_link_text()