今天学习遇到一个小问题,定位一个菜单,使用写死的方法就能定位到,但是用字符串拼接的方法就定位不到 下面是写死方法 def menu(): currentDr.find_element_by_css_selector('[alt="主菜单"]')).click()
下面是错误的字符串拼接方法
def mainMenu(self,menu):
a = " '[alt= "
b = " ]' "
currentDr.find_element_by_css_selector(a +'"'+menu+'"'+b)).click()
为什么把a 和 b 单独拉出来,是因为就这2个拼接报错了,'[alt="主菜单"]' 为什么最外面是用2个单引号,是为了表明 find_element_by_css_selector 括起来的是个字符串,使用拼接的方法拼接,说明拼接完成的语句,本身就是个字符串,那么a、b中的 [ ]外面就不应该再加单引号,应该是a = " [alt= " b=" ]"
上面的例子中find_element_by_css_selector 里面的 '"',为了看着方便,分开来看是‘ " ' ,用两个单引号 把双引号给括起来,不过为什么说menu本身也是字符串类型,还要左右拼接上两个双引号,是因为这个字符串是包含在一个字符串里面的,如果不加的话与上面写死的那种格式就不一样了,大家自己意会吧,只能解释到这种程度
正确的合一起的拼接应该是:
currentDr.find_element_by_css_selector( ' [alt= '+'"'+menu+'"]' )).click()