0
當我嘗試使用webdriver選擇帶撇號的回答(發生在所有瀏覽器中)時,我得到了這個InvalidSelectorException。我試圖用反斜槓逃脫撇號,但我認爲這是因爲它存儲在它沒有得到逃脫的變量:如何從包含撇號的下拉列表中選擇答案?
org.openqa.selenium.InvalidSelectorException: The xpath expression '//select[@name='titleCode']/option[@value='I'm in college']' cannot be evaluated or does notresult in a WebElement (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 219 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/invalid_selector_exception.html
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:08:56'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0_25'
Driver info: driver.version: EventFiringWebDriver
Session ID: 6efb7eae-3afb-4ab1-948d-146b42d2c96c
Command duration or timeout: 701 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/invalid_selector_exception.html
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:09:54'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-32-generic', java.version: '1.6.0_31'
Driver info: driver.version: RemoteWebDriver
Session ID: 1350062508295
這裏是Java代碼。變量quesiton和答案是字符串列表從DB:
driver.findElement(By.xpath("//select[@name='" + question + "']/option[@value='" + answer + "']")).click();
下面是HTML:
<select id="select1" class="select" name="titleCode">
<option selected="" value="">Please select...</option>
<option value="I'm in high school">I'm in high school</option>
<option value="I'm in college">I'm in college</option>
</select>
有沒有一種方式來逃避被存儲在一個變量或另一個字符串的撇號繞過這個方法還是撇號甚至是問題?任何幫助將非常感激。謝謝!
布萊恩
如果你需要'答案'是動態的,我只是不使用XPath的查詢部分。獲取'並循環回答。 –
millimoose
如果它不包含引號,它是否工作? –
是的,它不包含引號。是的,我想我可以從列表中隨機選取一個值。我仍然很好奇,如果有一種方法可以避免變量中的引號。 –