SyntaxError:语法无效Selenium

时间:2018-12-27 13:49:52

标签: python

$ python script.py 
  File "script.py", line 33
    elem = browser.find_element_by_name("//*[@id="search"]") 
                                                   ^
SyntaxError: invalid syntax

由于Xpath,我认为这是一个错误,但这似乎是正确的。 其他Xpath有所不同,但更长一些,但我认为没有任何改变

elem = browser.find_element_by_name("//*[@id="search"]") 

我想消除此错误,但我想知道,我相信可以通过以不同的方式设置Xpath来解决此问题

HTML:

<input id="search" type="search" tabindex="1" name="term"      placeholder="Search" class="main-search rounded form-control input-lg  clearable" autocomplete="off" spellcheck="false" dir="auto" autocapitalize="none" value="">

2 个答案:

答案 0 :(得分:3)

您需要转义引号或使用其他引号:

elem = browser.find_element_by_name('//*[@id="search"]') 

答案 1 :(得分:2)

您需要转义",或使用'

选项1:

elem = browser.find_element_by_name("//*[@id=\"search\"]") 

选项2:

elem = browser.find_element_by_name('//*[@id="search"]') 

更新:

现在您已经解决了转义问题,如果您尝试按其ID查找元素,请尝试使用:

elem = browser.find_element_by_id('search')