我正在尝试通过xpath找到元素并不断收到语法错误
它在我的xpath中将^
标记放在冒号之前。
我在Chrome开发工具中生成xpath。在html中查找元素,右键单击它并选择Copy xpath。
C:\>python ebcm_login.py
File "ebcm_login.py", line 47
elem = driver.find_element_by_xpath("//*[@id="j_idt51:j_idt55_body"]/table/tbody/tr/td[2]/table/tbody/tr[6]/td[1]/input")
^
SyntaxError: invalid syntax
C:\>python ebcm_login.py
File "ebcm_login.py", line 48
elem = driver.find_element_by_xpath("//*[@id="menuForm:j_idt57"]/table/tbody/tr/td[2]")
^
SyntaxError: invalid syntax
C:\>python
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
答案 0 :(得分:0)
尝试使用
elem = driver.find_element_by_xpath('//[@id="j_idt51:j_idt55_body"]/table/tbody/tr/td[2]/table/tbody/tr[6]/td[1]/input')
那里有重叠的引号。你可能会混淆它。 在您的示例中,您在现有双引号中放置了双引号。
例如:'"obanawev"'
同样有效"'obanawev'"
也有效,但不是""obanawev""
你甚至可以用三重引号括起来。然后你可以使用双引号和单引号,并且可以避免重叠引号。
例如:
elem = driver.find_element_by_xpath("""//[@id="j_idt51:j_idt55_body"]/table/tbody/tr/td[2]/table/tbody/tr[6]/td[1]/input""")