如何将java selenium函数替换为python selenium函数

2024-10-03 00:28:29 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是提到的函数,我想在python中修改。你知道吗

public void click(By element)
{
    dvr.findElement(element).click();
}

Tags: 函数byelementpublicclickdvrvoidfindelement
3条回答

没有直接的替代品。原因是java使用下面的一种格式

driver.findElement(By.Id("tarun")).click()
driver.findElement(By.Css("tarun")).click()

但python中的相同方法可以转换为

driver.find_element_by_id("tarun").click()
driver.find_element_by_css("tarun").click()

或者

driver.find_element('id', "tarun").click()
driver.find_element('css', "tarun").click()

所以你得不到直接翻译。但你可以像下面这样做

driver = webdriver.Firefox()
def click(element):
    by, value = element.split("=", 1)
    global driver 
    driver.find_element(by, value).click()

然后你可以用这样的方法

click("id=tarun")
click("css=.tarun")

你可以转换如下所示

def click(locator, value):
   if locator=="id":
     driver.find_element_by_id(value).click()
   elif locator=="name":
     driver.find_element_by_name(value).click()
   elif locator=="xpath":
     driver.find_element_by_xpath(value).click()
   ....
   ....
   ....
   else:
      put "locator is not matching with any option. please check."

尝试使用以下选项:

def click():
    driver.find_element_by_whatever("whatever attribute").click()

例如: 如果要用id=btn单击按钮:

def click():
    driver.find_element_by_id("btn").click()

进一步阅读here。你知道吗

相关问题 更多 >