我试图将字符串的值传递给find_element_by_Xpath()以获得搜索并匹配属性值的一部分。我该如何工作?
我已经在Python3.7和Selenium库上尝试过,找不到从循环传递值的方法。我正在尝试以下操作,但不起作用
datasets = [ 'ds_pos_retail_outlet','ds_pos_retail_fullset', 'ds_pos_retail_ProfitCenter','ds_pos_retail_Section']
for x in datasets :
refreshNow= driver.find_element_by_xpath('//button[starts-with(@aria-describedby, x) and @title="Refresh now"]')
refreshNow.click()
time.sleep(8)
我要选择并单击具有正则表达式匹配传递的属性值的节点
答案 0 :(得分:0)
一种方法是使用format()
:
xpath = '//button[starts-with(@aria-describedby, {}) and @title="Refresh now"]'.format(x)
refreshNow= driver.find_element_by_xpath(xpath)
答案 1 :(得分:0)
除格式功能外,您还可以使用简单的字符串连接。
refreshNow = driver.find_element_by_xpath('//button[starts-with(@aria-describedby, ' + x + ') and @title="Refresh now"]')