InvalidSelectorException when select element for Python Selenium with xpath
InvalidSelectorException when select element for Python Selenium with xpath
我有这个 html 片段:
<div class="btn">
<a href="javascript:void(0)" class="S_btn_b" node-type="OK">
<span>确定</span>
</a>
</div>
我想 select 确定
元素并单击它。我尝试了以下 select 或 xpath:
confirm_btn = driver.find_element_by_xpath('//div[@class="btn"]//span[text()="确定"]')
但是程序只是抱怨那不是有效的 select 或者有这个例外:
Traceback (most recent call last):
File "test.py", line 63, in <module>
ac.move_to_element(driver.find_element_by_xpath('//div[@class="btn"]/span[text()="确定"'))
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 230, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 662, in find_element
{'using': by, 'value': value})['value']
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 173, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 166, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSelectorException
我是不是做错了什么?
如果您不将 XPath 表达式标记为 Unicode,当搜索命令发送到浏览器时,汉字将被破坏,并且搜索将搜索您想要的内容以外的内容,因此将您的 XPath 表达式标记为 Unicode:
confirm_btn = driver.find_element_by_xpath(u'//div[@class="btn"]//span[text()="确定"]')
我有这个 html 片段:
<div class="btn">
<a href="javascript:void(0)" class="S_btn_b" node-type="OK">
<span>确定</span>
</a>
</div>
我想 select 确定
元素并单击它。我尝试了以下 select 或 xpath:
confirm_btn = driver.find_element_by_xpath('//div[@class="btn"]//span[text()="确定"]')
但是程序只是抱怨那不是有效的 select 或者有这个例外:
Traceback (most recent call last):
File "test.py", line 63, in <module>
ac.move_to_element(driver.find_element_by_xpath('//div[@class="btn"]/span[text()="确定"'))
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 230, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 662, in find_element
{'using': by, 'value': value})['value']
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 173, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 166, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidSelectorException
我是不是做错了什么?
如果您不将 XPath 表达式标记为 Unicode,当搜索命令发送到浏览器时,汉字将被破坏,并且搜索将搜索您想要的内容以外的内容,因此将您的 XPath 表达式标记为 Unicode:
confirm_btn = driver.find_element_by_xpath(u'//div[@class="btn"]//span[text()="确定"]')