从Python列表中单击Web元素的通用代码:

时间:2018-03-01 11:07:12

标签: python selenium automation

以下是我想用Python转换的Java代码:

public static void clickElementFromList(String ListObject, String strname) 
{
    List<WebElement> wbeElement;

    wbeElement = Util.findElements(ListObject);

    for (int cnt = 0; cnt < wbeElement.size(); cnt++) 
    {
        if (wbeElement.get(cnt).getText().trim().contentEquals(strname)) 
        {
            wbeElement.get(cnt).click();
            break;
        }
    }

}

// listobj是web元素。 // strname是应用程序中显示的文本

1 个答案:

答案 0 :(得分:0)

首先,我们不是翻译..

如果你想将java代码翻译成python,你必须手动翻译它。看起来有一些工具,例如java2python但作者声明

  

生成的Python代码无法保证运行,也无法保证   在语法上有效的Python。

如果您只想在要在python中编写的应用程序中使用java库,可以尝试jython

但是根据你的问题和要求给你举例/样品或提示..

首先根据您的条件查找列表的所有元素!

from selenium import webdriver

browser = webdriver.Chrome()
browser.get(url)
# here find method will have to modified according to your condition of getting webElements
list = browser.find()

然后根据您的方法要求尝试这样的事情:

def clickElementFromList(list_object, strname):
    for name in list_object:
        text = name.text
        if text is not None:
            if text == strname:
                name.click()
                break

然后调用函数:

clickElementFromList(your list here, strname here)

希望这会对你有所帮助! :)