Python - Salesforce:如何找到没有确定类名的对象并验证文本?

时间:2016-10-14 17:53:54

标签: python selenium salesforce

所以,目前我正在使用Python 3和selenium webdriver与Salesforce自动化管理验证。

我已经非常成功(尽管我并不精通编程)。但是,我遇到了一个问题...我似乎无法弄清楚如何在页面上找到一个元素,以便我可以验证其中包含的文本是否准确显示。

  

这就是用户端的样子:   The highlighted element displays as this

但每当我搜索" GlobalHeaderCommunitySwitcher"时,它会回吐一个无法找到它的错误。

所以我尝试在代码块中搜索其他元素:

Color[] col= {Color.RED,Color.BLUE}; 

我每次都通过搜索来填空:

  

browser.find_element_by_id(" globalHeaderCommunitySwitcher&#34)      browser.find_element_by_class_name&使用" zen-trigger"和" zen-selectArrow"      browser.find_element_by_xpath(" // div [@class =' zen-trigger' and text()=' PVT GBI Internal']")

这也导致没有返回..

基本上,如何通过上面的代码在屏幕截图中找到元素,然后让脚本验证该元素中的文本(" PVT GBI INTERNAL")是否存在且正确?

2 个答案:

答案 0 :(得分:0)

  1. 使用Google Chrome浏览器打开页面
  2. 将鼠标移到要查找的元素上并右键单击
  3. 左键单击Inspect(在选择列表的底部)
  4. 您的元素将在开发者工具中高亮显示
  5. 右键单击高亮元素并选择复制
  6. 根据您的偏好单击复制选择器或XPath
  7. 根据需要将其粘贴到您的selenium find_element_by_xpath()或find_element_by_css_selector()语句中。
  8. 说xpath

    element = browser.find_element_by_xpath("your pasted xpath")
    assert element.text == 'Your expected text'
    

答案 1 :(得分:0)

您可以使用//tag[text()="value"] or //tag[contains(attribute,‘value’)]

示例:browser.find_element_by_xpath("//a[@class='zen-trigger']//*[‌​text()='PVT GBI Internal']")

//a[@class='zen-trigger']//*[contains(text(),'PVT GBI Internal')]
//a[@class='zen-trigger']//*[contains(@class="zen-selectArrow")and
contains(text(),'PVT GBI Internal')]