Django Selenium Webdriverを使用して、特定のページのhrefURLが正しく形成されていることをテストする方法を理解しようとしています。
例: http: //www.domain.com/post/12/test_post
だから私は次のような正規表現をテストしたいと思います:
'^post/(?P<id>\d+)/test_post)$'
投稿(ナメクジ)の名前は知っていますが、IDがどうなるかわかりません。Seleniumを使用して、href URLが正しく形成されていることをテストするにはどうすればよいですか?
私は試した:
self._driver.find_element_by_xpath("//a[matches(@href='/post/(/?P<id>\d+)/test_post')]")
しかし、私はこのエラーを受け取ります:
*** InvalidSelectiorException: Message: u'The given selector //a[matches(@href=\'/post/(/?P<id>\\d+)/test_post\')] is either invalid or does not result in a WebElement. The following error occurred:\n[InvalidSelectorError] Unable to locate an element with the xpath expression //a[matches(@href=\'/post/(/?P<id>\\d+)/test_post\')] because of the following error:\n[Exception... "The expression is not a legal expression." code: "51" nsresult: "0x805b0033 (NS_ERROR_DOM_INVALID_EXPRESSION_ERR)" location: "file:///var/folders/m
しかし、私は「その表現は合法的な表現ではない」と言い続けました。
self._driver.find_element_by_xpath("//a[starts-with(@href, '/post']")
self._driver.find_element_by_xpath("//a[starts-with(@href, 'post/']")
self._driver.find_element_by_xpath("//a[starts-with(@href, '/post/']")
ここでも「表現は合法的な表現ではありません」とのことでした。
hrefタグが正しく形成されていることを確認する方法はありますか?